0

ここから 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 を使用してブラウザーをシミュレートすることについて何かを見ましたが、エージェントがそのトリックを行うと思いました。多分クッキーを使用するサーバーについて何か...私は本当に知りません。今日ここで他の回答を見ましたが、私の問題は解決しませんでした。何か不足していますか?

ありがとうございました。

4

1 に答える 1

0

Wrong variable use:

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

So you're trying to decode a variable that doesn't exist.

于 2013-09-05T18:19:37.230 に答える