ホームページ >バックエンド開発 >PHPチュートリアル >`file_get_contents()` が失敗する理由と、「HTTP リクエストが失敗しました!」というメッセージを修正するにはどうすればよいですか?エラー?
file_get_contents() での HTTP リクエストの失敗の問題
「ストリームを開けませんでした: HTTP リクエストが失敗しました!」というエラーが発生しました。 file_get_contents() を使用して URL を呼び出すときにエラーが発生してイライラすることがあります。この問題は、PHP がターゲット サーバーへの接続を確立する際に問題が発生した場合に発生します。
ユーザーが示唆するように、考えられる原因の 1 つは、URL 内に 2 番目の「http://」が存在することです。ただし、もう 1 つの潜在的な問題は、file_get_contents() で HTTPS URL がサポートされていないことです。
この問題を解決するには、file_get_contents() の代わりに 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); ?>
これらの変更を組み込むことで、安定した接続を確立し、URL から目的のコンテンツを正常に取得できるようになります。
以上が`file_get_contents()` が失敗する理由と、「HTTP リクエストが失敗しました!」というメッセージを修正するにはどうすればよいですか?エラー?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。