2017-06-17 6 views
0

私はJSONオブジェクトを返すはずの非常に単純なコードを持っていますが、値は返されません。PHPのfile_get_contentsは値を返しません

URL https://api.kraken.com/0/public/Timeに直接アクセスすると、目的のJSON出力が表示されます。

(URL https://youreka-virtualtours.be/ethereum/functions.php?call=get_kraken上)次の関数を呼び出すときしかし、私は任意の出力

<?php 
    if (isset($_GET['call'])) { 
     $error = ''; 
     switch($_GET['call']) { 
      case 'get_kraken': 
        $url = 'https://api.kraken.com/0/public/Time'; 
        $json = file_get_contents($url); 

        http_response_code(200); 
       header('Content-Type: application/json'); 
       echo $json; 
       break; 
     } 
    } 
?> 

編集得ることはありません。私のfile_get_contentsの出力は何異なっているので、私は間違って何をやっている:質問をURL https://api.kraken.com/0/public/Timeが表示されます

+0

あなたの質問は? – hakre

+0

file_get_contentsの代わりにcurlを使用して、レスポンスのHTTPコードを確認します。これは、問題のどこでデバッグするのに役立ちます。 –

+0

** SyntaxError:JSON.parse:JSONデータの第1行第3列の予期しないデータ終了 – RiggsFolly

答えて

0

コードは正常に動作し、ローカルでテストしました。これは、2つの事のうちの1つが起こっていることを意味します。 1:あなたのサーバーはfile_get_contents呼び出しを行うことができません。 2:あなたのURLが間違っている場合は、実際に何かをエコーする必要があります。これを試してみてください:

<?php 
    if(!isset($_GET['call']) || "get_kraken" !== @$_GET['call']) { 
     echo "could not find a valid URL"; 
    }elseif (isset($_GET['call'])) { 
     $error = ''; 
     switch($_GET['call']) { 
      case 'get_kraken': 
        $url = 'https://api.kraken.com/0/public/Time'; 
        $json = file_get_contents($url); 

        http_response_code(200); 
       header('Content-Type: application/json'); 
       echo $json; 
       break; 
     } 
    } 
?> 
+0

正常に動作していると言うと、https://api.kraken.com/0/public/Timeに直接行くと同じ出力が見えますか? –

関連する問題