我想从这里获取json数据:JSON url;
使用Chrome我可以看到所有JSON数据,但是使用curl(代码下面)它似乎重定向并迷路(如果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);
我看到了一些关于用curl模拟浏览器的东西,但我认为代理可以做到这一点。也许关于使用cookie的服务器...我真的不知道。我今天在这里看到了其他答案,但他们没有解决我的问题。我错过了什么吗?
谢谢。
答案 0 :(得分:0)
错误的变量使用:
$data = curl_exec( $ch );
^^^^^--- data here
$dataDecoded = json_decode($json);
^^^^--- not $data here
所以你试图解码一个不存在的变量。