繁体   English   中英

为什么url通过浏览器返回JSON数据但没有显示任何卷曲(CURLOPT_RETURNTRANSFER为true)?

[英]Why url returns JSON data via browser but shows nothing with curl (CURLOPT_RETURNTRANSFER is true)?

我想从这里获取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的事情……我真的不知道。 我今天在这里看到了其他答案,但它们并不能解决我的问题。 我想念什么吗?

谢谢。

变量使用错误:

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

因此,您正在尝试解码不存在的变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM