ホームページ >バックエンド開発 >PHPチュートリアル >file_get_contents() が失敗する理由と cURL で「HTTP リクエストが失敗しました」エラーを修正するにはどうすればよいですか?

file_get_contents() が失敗する理由と cURL で「HTTP リクエストが失敗しました」エラーを修正するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-10 07:41:13280ブラウズ

Why Does file_get_contents() Fail and How Can cURL Fix

PHP file_get_contents() の「HTTP リクエストが失敗しました」エラーの解決

file_get_contents() を利用して指定された URL からコンテンツを取得しようとすると、 「警告: file-get-contents() がストリームを開けませんでした: HTTP リクエスト」というエラーが発生する可能性があります。 HTTP/1.1 202 が受け入れられました。」このエラーは、HTTP リクエストが正常に実行できない場合に発生します。

この問題に対処するための代替アプローチは、cURL 拡張機能を使用することです。 cURL では、HTTP リクエストをより詳細に制御でき、追加の構成オプションが可能です。 cURL を使用した変更されたコード スニペットは次のとおりです。

<?php

$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, 'http://###.##.##.##/mp/get?mpsrc=http://mybucket.s3.amazonaws.com/11111.mpg&mpaction=convert format=flv');
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Your application name');
$query = curl_exec($curl_handle);
curl_close($curl_handle);

?>

この変更されたバージョンでは、cURL 関数を利用して HTTP リクエストを開始します。 CURL ハンドルを定義し、さまざまなオプションを設定します。

  • CURLOPT_URL: ターゲット URL を指定します。
  • CURLOPT_CONNECTTIMEOUT: のタイムアウトを設定します。を確立する
  • CURLOPT_RETURNTRANSFER: 出力を文字列として返す必要があることを示します。
  • CURLOPT_USERAGENT: リクエストのカスタム ユーザー エージェントを設定します。

を活用することでcURL を使用すると、HTTP リクエストをより細かく制御できるようになり、file_get_contents() で発生した「HTTP リクエストが失敗しました」エラーを効果的に解決できます。

以上がfile_get_contents() が失敗する理由と cURL で「HTTP リクエストが失敗しました」エラーを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。