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

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

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-08 12:40:16267ブラウズ

Why is my `file_get_contents()` Failing and How Can I Fix the

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 サイトの他の関連記事を参照してください。

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