0

我想从这里获取 json 数据:JSON url ;

使用 Chrome 我可以看到所有 JSON 数据,但是使用 curl(下面的代码)它似乎会重定向并迷路(如果 CURLOPT_FOLLOWLOCATION 为假,它什么也不做):

$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 的服务器的事情......我真的不知道。我今天在这里看到了其他答案,但它们并没有解决我的问题。我错过了什么吗?

谢谢你。

4

1 回答 1

0

错误的变量使用:

        $data = curl_exec( $ch );
        ^^^^^--- data here
        $dataDecoded = json_decode($json);
                                    ^^^^--- not $data here

所以你试图解码一个不存在的变量。

于 2013-09-05T18:19:37.230 回答