네이버쇼핑 EP파싱오류 이해가안가네요..고수님안계실까여
본문
8월31일까지 잘되던게 갑자기 9월1일부터 업체오류(ep파싱파싱오류) 뜨기시작했더라구요
광고는 그냥 잘되고있는거같은데 그래서 신경을못썼는데
제가 뭐소스를 따로 만지고한게없는데 31일까지 잘되던게 9월1일부터 딱안되는게 신기하기도하고
네이버에서 뭐가 바뀐건지 naver.php 소스 한번 봐주실분계신가요 ? 문제될게없어 보이는데 ㅠ
DB url은 https://도메인/shop/price/naver.php 설정해서 수신중으로 잘뜨고있는데
하루에 4번 읽어들이는 상품DB 업데이트 현황 할때 업체오류 (EP 파싱오류) 이런오류가뜨네요 .
<?php
include_once('./_common.php');
// clean the output buffer
ob_end_clean();
/*
EP 버전 3.0
네이버지식쇼핑상품EP (Engine Page) 제작및연동가이드 (제휴사제공용)
http://join.shopping.naver.com/misc/download/ep_guide.nhn
Field Status Notes
id 필수 판매하는 상품의 유니크한 상품ID
title 필수 실제 서비스에 반영될 상품명(Title)
price_pc 필수 상품가격
link 필수 상품URL
image_link 필수 해당 상품의 이미지URL
category_name1 필수 카테고리명(대분류)
category_name2 권장 카테고리명(중분류)
category_name3 권장 카테고리명(소분류)
category_name4 권장 카테고리명(세분류)
model_number 권장 모델명
brand 권장 브랜드
maker 권장 제조사
origin 권장 원산지
event_words 권장 이벤트
coupon 권장 쿠폰
interest_free_event 권장 무이자
point 권장 포인트
shipping 필수 배송료
seller_id 권장 셀러 ID (오픈마켓에 한함)
class 필수(요약) I (신규상품) / U (업데이트 상품) / D (품절상품)
update_time 필수(요약) 상품정보 생성 시각
review_count 권장 상품평(리뷰,구매평) 개수
*/
$tab = "\t";
ob_start();
echo "id{$tab}title{$tab}price_pc{$tab}link{$tab}image_link{$tab}category_name1{$tab}category_name2{$tab}category_name3{$tab}category_name4{$tab}model_number{$tab}brand{$tab}maker{$tab}origin{$tab}point{$tab}shipping{$tab}review_count";
$sql =" select * from {$g5['g5_shop_item_table']} where it_use = '1' order by ca_id";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$cate1 = $cate2 = $cate3 = $cate4 = '';
$caid1 = $caid2 = $caid3 = $caid4 = '';
$caid1 = substr($row['ca_id'],0,2);
$row2 = sql_fetch(" select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$caid1' ");
$cate1 = $row2['ca_name'];
if (strlen($row['ca_id']) >= 8) {
$caid4 = substr($row['ca_id'],0,8);
$row2 = sql_fetch(" select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$caid4' ");
$cate4 = $row2['ca_name'];
}
if (strlen($row['ca_id']) >= 6) {
$caid3 = substr($row['ca_id'],0,6);
$row2 = sql_fetch(" select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$caid3' ");
$cate3 = $row2['ca_name'];
}
if (strlen($row['ca_id']) >= 4) {
$caid2 = substr($row['ca_id'],0,4);
$row2 = sql_fetch(" select ca_name from {$g5['g5_shop_category_table']} where ca_id = '$caid2' ");
$cate2 = $row2['ca_name'];
}
// 배송비계산
$delivery = get_item_sendcost2($row['it_id'], $row['it_price'], 1);
// 상품이미지
$img_url = get_it_imageurl($row['it_id']);
// 포인트
$it_point = get_item_point($row);
$item_link = G5_SHOP_URL.'/item.php?it_id='.$row['it_id'];
//리뷰
$row5 = sql_fetch(" select count(*) as cnt from `{$g5['g5_shop_item_use_table']}` where it_id = '{$row['it_id']}' ");
$item_use_count = $row5['cnt'];
echo "\n{$row['it_id']}{$tab}{$row['it_name']}{$tab}{$row['it_price']}{$tab}{$item_link}{$tab}{$img_url}{$tab}{$cate1}{$tab}{$cate2}{$tab}{$cate3}{$tab}{$cate4}{$tab}{$row['it_model']}{$tab}{$row['it_brand']}{$tab}{$row['it_maker']}{$tab}{$row['it_origin']}{$tab}{$it_point}{$tab}{$delivery} {$item_use_count}";
}
$content = ob_get_contents();
ob_end_clean();
echo $content;
?>
답변 3
네이버에서 얘기하는건 http로 접속이 되어야 한다고 하네요
https 설정으로 문제가 있던 기억이 있습니다. 해당 경로만 http로 접속할 수 있게 처리한 후에 처리된 경험이 있습니다.
.htaccess 설정하여 해결을 하였습니다.
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteCond %{THE_REQUEST} !/naverpay/ [NC] RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # force http:// for selected URLs RewriteCond %{HTTPS} on RewriteCond %{THE_REQUEST} /naverpay/ [NC] RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </IfModule>
해결되시면 좋겠네요
네이버에서 얘기하는건 http로 접속이 되어야 한다고 하네요