여기에서 json 데이터를 가져오고 싶습니다. JSON url;url이 브라우저를 통해 JSON 데이터를 반환하지만 왜곡되지 않은 이유는 무엇입니까 (CURLOPT_RETURNTRANSFER가 true)?
나는 모든 JSON 데이터를 볼 수 있습니다 크롬을 사용하지만, (, 그것은 아무것도하지 않습니다 CURLOPT_FOLLOWLOCATION이 false 인 경우)가 리디렉션 및 손실 얻을 것으로 보인다 (코드 아래) 컬 사용 :
$json_url = 'http://cartolafc.globo.com/mercado/filtrar.json?page=1&order_by=media&status_id=7&posicao_id=1';
$ch = curl_init($json_url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
//even killing the redirect process it does not return JSON data
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
$dataDecoded = json_decode($data);
print_r($dataDecoded);
내가 시뮬레이션에 대해 뭔가를보고을 컬이있는 브라우저이지만 에이전트를 강타하면 속임수를 쓰게됩니다. 어쩌면 쿠키를 사용하는 서버에 대해 뭔가를 ... 나는 정말로 모른다. 오늘 나는 다른 해답을 보았지만 문제를 해결하지 못했습니다. 내가 놓친 게 있니?
감사합니다.
단순히 말아 올린 컬이라고 가정합니다. 최소한 if ($ data === false) {die (curl_error ($ ch)); }'그것을 처리하고,'$ data'가 ** 전에 ** 디코드하려고하는지 확인하십시오. 어쨌든 그것이 손상되면, 당신은 또 다른 부울 false를 얻을 것입니다. –
브라우저에서 JSON URL을 열면 http://sportv.globo.com/site/cartola-fc/로 리디렉션됩니다. 이것이 올바른 URL이라고 확신합니까? – mhenke
방금 Google 크롬으로 열었으며 JSON 데이터를 표시하고 있습니다. 마지막에 1을 넣으려고해도 여전히 리디렉션됩니까? – Bagata