次のスニペットでは、JSON 形式の API を介して Web サイトからデータをダウンロードしようとしていることがわかります。
私の問題は、json 形式 (25 mb のテキスト データ) でデータを取得しようとすると、php スクリプトが 200 応答を送信することです (以下で確認できます)。しかし、奇妙な点は、スクリプトが実際に実行を終了し、応答がブラウザーによってファイルとしてダウンロードされることです。
ブラウザに入力された場合、URL は正しいデータを返します。wget を介しても、この URL からコンテンツをダウンロードできます。
curl がサーバーからブラウザにレスポーズを通過する可能性はありますか?
$ch = curl_init("https://example.com/api/json/view/view_name?authtoken=xxxyyyaaaa&raw=true");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$data = curl_exec ($ch);
ダウンロードしたファイル「myscriptname.php」には、以下が含まれます。
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>200 OK</title>
</head><body>
<h1>OK</h1>
<p>The server is temporarily unable to service your
request due to maintenance downtime or capacity
problems. Please try again later.</p>
</body></html>