2014-02-24 2 views
0

Chrome 브라우저를 통해 사이트를 디버깅 할 때 JSON 응답을받습니다. 하지만 PHP를 통해이 작업을 시도 할 때 오류 메시지가 나타납니다.응답에서 JSON을 얻는 방법

스트림을 열지 못했습니다. HTTP 요청이 실패했습니다! HTTP/1.0 404을 찾을 수 없음

어떤 도움을 주셔서 감사합니다. 예를 들어

: 크롬에서 할

것들 :

페이지로 이동 http://gruper.pl/warszawa하고 아래에 당신이 버튼 "Wiecej의 ofert"가 표시됩니다. PHP에서 같은를 얻을 수있는 가능성이

[{"ID_PAGE":"59199","ID_CITY":"3952","main_city":"3952","date_start":"2014-02-23 18:00:00","date_end":"2014-03-01 23:59:00","price"..... 

:

http://gruper.pl/DataProvider.php?cityId=51&categoryId=0&mainNaviId=1&showBTile=true&page=1 

을 응답 : 후 디버그에서 볼 수 클릭?

내 코드는 다음과 같습니다

그것은 이러한 헤더를 설정하지 않는 404 HTTP 상태 코드를 반환합니다 해당 URL과 같은
<?php 

$url = 'http://gruper.pl/DataProvider.php?cityId=51&categoryId=0&mainNaviId=1&showBTile=true&page=1'; 

// use key 'http' even if you send the request to https://... 
$options = array(
    'http' => array(
     'header' => "Content-type: application/x-www-form-urlencoded\r\n" . 
         "Accept:application/json\r\n" . 
         "Accept-Encoding:gzip,deflate,sdch\r\n" . 
         "X-Requested-With:XMLHttpRequest\r\n", 
     'method' => 'GET' 
    ), 
); 

$context = stream_context_create($options); 
$result = (file_get_contents($url, false, $context)); 

?> 
<html> 

<head> 
<meta charset="UTF-8"> 
</head> 

</html> 
+0

첫 번째 헤더 다음에 쉼표','가 있습니다. 마침표'.'로 바꾸고 도움이되는지 확인하십시오. 가장 중요한 헤더가 가장 마지막 헤더 일 가능성이 높기 때문에 제 추측입니다. 그것은 교활한 버그입니다. 구문 오류가 없기 때문에 감지하기 어렵습니다. –

+0

변경했지만 문제는 아닙니다. 문제는 브라우저에서도 URL : http://gruper.pl/DataProvider.php?cityId=51&categoryId=0&mainNaviId=1&showBTile=true&page=1 이 작동하지 않습니다. – user3345547

+0

빈 페이지가 있습니까? 혹시라도 오류보고가 있습니까? –

답변

1

:

X-Requested-With: XMLHttpRequest 
Referer: http://gruper.pl/warszawa 

그래서이 작동합니다 :

<?php 

$url = 'http://gruper.pl/DataProvider.php?cityId=51&categoryId=0&mainNaviId=1&showBTile=true&page=1'; 

// use key 'http' even if you send the request to https://... 
$options = array(
    'http' => array(
     'header' => "X-Requested-With: XMLHttpRequest\r\n" . 
        "Referer: http://gruper.pl/warszawa" 
    ) 
); 

$context = stream_context_create($options); 
$result = (file_get_contents($url, false, $context)); 

echo $result; 

?> 
+0

감사합니다. 작품 :) – user3345547

관련 문제