2

こんにちは、このコードでCurlとPHPを使用して、URLからJSONファイルからデータを取得しようとしています:

<?php
    //  Initiate curl
    $url = "https://panel.virtualcenter360.es/home/api/getdatasample?dateIni=1376524800&dateEnd=1381795200";
    $ch = curl_init($url);
    // Set the url
    curl_setopt($ch, CURLOPT_URL,$url);
    // Execute
    $result=curl_exec($ch);

    $res = iconv('UTF-8', 'UTF-8//IGNORE', utf8_encode($result));

    var_dump(json_decode($res, true));

        switch (json_last_error()) {
    case JSON_ERROR_NONE:
        echo ' - No errors';
    break;
    case JSON_ERROR_DEPTH:
        echo ' - Maximum stack depth exceeded';
    break;
    case JSON_ERROR_STATE_MISMATCH:
        echo ' - Underflow or the modes mismatch';
    break;
    case JSON_ERROR_CTRL_CHAR:
        echo ' - Unexpected control character found';
    break;
    case JSON_ERROR_SYNTAX:
        echo ' - Syntax error, malformed JSON';
    break;
    case JSON_ERROR_UTF8:
        echo ' - Malformed UTF-8 characters, possibly incorrectly encoded';
    break;
    default:
        echo ' - Unknown error';
    break;
}
    curl_close($ch);
?>

No errors メッセージが表示されますが、結果は NULL です。それは何が問題だと思いますか?

Curl からいくつかのパラメータを設定する必要があるのでしょうか?

ありがとう!

4

3 に答える 3

1

curl を使用する場合は、次のようにする必要があります。

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

CURLOPT_SSL_VERIFYPEER
FALSE を指定すると、cURL によるピアの証明書の検証が停止されます。検証する代替証明書を CURLOPT_CAINFO オプションで指定するか、証明書ディレクトリを CURLOPT_CAPATH オプションで指定できます。

http://php.net/manual/en/function.curl-setopt.php

于 2013-10-31T12:35:29.693 に答える
1

json 情報を取得するだけでよい場合file_get_contents()は、cURL 関数の代わりに使用することをお勧めします。

于 2013-10-31T12:13:15.673 に答える
0

Codeigniter アプリケーション/ライブラリ フォルダー内

header('Content-Length: ' . strlen($output)); //Comment line no. 267 of REST_Controller.php
于 2016-03-28T13:27:01.523 に答える