PHP の file_get_contents() 関数を使用して URL からデータを取得しようとすると、 「ストリームを開けませんでした: HTTP リクエストが失敗しました!」というエラーが発生する場合があります。この問題は、PHP が発生した場合に発生します。指定された URL への HTTP リクエストの実行が困難です。
潜在的な原因の 1 つは、アクセスしようとしている URL に複数の「http://」プレフィックスが存在することです。冗長なプレフィックスを削除して確認することを検討してください。
ただし、有効な URL を使用しても問題が解決しない場合は、効果的であることが証明されている別の解決策の 1 つとして cURL を使用することをお勧めします。 library.
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 リクエストをより確実に処理でき、多くの場合、file_get_contents() で発生した失敗したリクエストの問題が解決されます。
以上がfile_get_contents() が「HTTP リクエストに失敗しました!」というエラーで失敗するのはなぜですか? cURL を使用してそれを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。