채택완료

네이버쇼핑 EP파싱오류 이해가안가네요..고수님안계실까여

3740116012_1634662700.3485.jpg

 

 

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개 / 댓글 2개

채택된 답변
+20 포인트

네이버에서 얘기하는건 http로 접속이 되어야 한다고 하네요 

답변에 대한 댓글 1개

답변 감사드립니다
http로 열리게해도 마찬가지더군요

네이버에서 얘기하는건 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>

해결되시면 좋겠네요

답변에 대한 댓글 1개

댓글에 감사드립니다 해당내용을 아래 아래소스에 추가하니 사이트가 먹통되네요

shop/price/ 폴더에 .htaccess 생성해서 해당내용을 붙여넣기하였는데

https://도메인/shop/price/naver.php 은 잘열리는데
http://도메인/shop/price/naver.php 로 열면 안열리네요

http로도 열려야 정상적으로된다는말씀이시죠?

답변을 작성하려면 로그인이 필요합니다.