ホームページ >バックエンド開発 >PHPチュートリアル >PHP の「file_get_contents()」が「HTTP リクエストに失敗しました」というメッセージで失敗するのはなぜですか? 解決策として cURL を使用するにはどうすればよいですか?
PHP file_get_contents() ストリームをオープンできませんでした: HTTP リクエストの失敗
PHP の file_get_contents() 関数を使用して URL からコンテンツを取得しようとしたときを実行すると、「ストリームを開けませんでした: HTTP リクエストが失敗しました!」というエラー メッセージが表示される場合があります。この問題は、PHP が指定された URL への接続を確立できない場合に発生します。
問題のトラブルシューティング
エラー メッセージは、file_get_contents() によって HTTP リクエストが行われたことを示しています。失敗した。これにはいくつかの理由が考えられます:
代替手段としての cURL の使用
file_get_contents() が失敗した場合は、代替手段解決策は、HTTP リクエストを行うための一般的な PHP 拡張機能である cURL を使用することです。 cURL を使用すると、リクエスト構成をより詳細に制御でき、潜在的な問題のトラブルシューティングが可能になります。
cURL を使用したコード例
<?php // Initialize a cURL handle $curl_handle = curl_init(); // Set the URL to fetch curl_setopt($curl_handle, CURLOPT_URL, 'http://###.##.##.##/mp/get?mpsrc=http://mybucket.s3.amazonaws.com/11111.mpg&mpaction=convert format=flv'); // Set a timeout for the connection curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); // Request the content to be returned instead of printed curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); // Set a user agent to identify your application curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Your application name'); // Execute the request and store the response $query = curl_exec($curl_handle); // Close the cURL handle curl_close($curl_handle); ?>
結論
file_get_contents() を使用して URL からコンテンツを取得する場合は、URL が有効であり、ネットワーク接続の問題はありません。これらのチェックが失敗した場合は、より柔軟でトラブルシューティング機能が提供される cURL を代替手段として使用することを検討してください。
以上がPHP の「file_get_contents()」が「HTTP リクエストに失敗しました」というメッセージで失敗するのはなぜですか? 解決策として cURL を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。