ホームページ  >  記事  >  バックエンド開発  >  request.querystring php エラー メッセージに対する完璧な解決策: ストリームを開けませんでした: HTTP リクエストが失敗しました!

request.querystring php エラー メッセージに対する完璧な解決策: ストリームを開けませんでした: HTTP リクエストが失敗しました!

WBOY
WBOYオリジナル
2016-07-29 08:45:24983ブラウズ

Google や Baidu では、そのような問題がたくさんあります。解決策は、php.ini を変更し、allow_url_fopen を有効にし、allow_url_fopen = オンに変更することです
これで一部の人の問題を解決できますが、php.ini には 2 つのオプションがあると言う人もいます:allow_url_fopen = on (リモート ファイルを URL 経由で開くことができることを示します)、user_agent="PHP" (ネットワークへのアクセスに使用されるスクリプトを示します。デフォルトではその前に「;」があり、削除できます。) サーバーを再起動します。 。
ただし、この警告メッセージがまだ表示されている人もいます。これを完全に解決するには、php.ini で user_agent を設定する必要があります。PHP のデフォルトの user_agent を Mozilla/4.0 に変更します。 MSIE 6.0; Windows NT 5.0) を使用してブラウザーをシミュレートします
user_agent=”Mozilla/4.0 (互換性; MSIE 6.0; Windows NT 5.0)”
私は仕事中にこの問題に遭遇し、完全に解決したので、みんなと共有します。
chemblink の構造式をバッチで取得したところ、ループ後に一部の画像が表示できないことがわかりましたが、リモート ファイルは存在していました。
リモート ファイルを取得すると、「Warning: readfile(http://www.jb51.net/logo.gif) [function.readfile]: failed to open stream: I use HTTP request failed!」のような警告メッセージが表示されます。

コードをコピーします コードは次のとおりです:

ob_start();
$img = ob_get_contents(); ob_end_clean( );


上記のエラーは、file_get_contents などの他の関数も変更しましたが、インターネットで確認したところ、CURL メソッドを使用してキャプチャできないことがわかりました。間違ってください
現在はcurlを使用する方が一般的です




コードをコピーします

コードは次のとおりです:$url = "http://s.jb51.net"; $ch =curl_init();

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$dxycontent = Curl_exec($ch); ;
$dxycontent

;
上記は、request.querystring の PHP エラー メッセージ「ストリームを開くことができませんでした: HTTP request failed!」に対する完璧な解決策を紹介しており、request.querystring の内容も含めて、PHP チュートリアルに興味のある友人に役立つことを願っています。


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