0

「警告: file_get_contents がストリームを開くことができませんでした: HTTP 要求が失敗しました! HTTP/1.0 400 Bad Request」というエラーが表示されますが、「http://Google.com」を押しています。

 <?php
        $content = file_get_contents("http://www.google.com");
        if (strpos($http_response_header[0], "200")) { 
         echo "SUCCESS";
       } 
       else { 
              echo "FAILED";
            }
   ?>

この問題のため、URL を解析できません。WAMP (Apache バージョン 2.2.22、PHP バージョン 5.4.3) を使用しています。

実行した手順:- 1.allow_url_fopen php.ini で有効化 2.URL のエンコードを試行 3.Curl php 関数を使用しても同じ問題が発生。4.許可されたファイアウォール

助けてください。

4

5 に答える 5

5
$html = @file_get_html($url);   
if($html==FALSE) {
  echo 'error';
} else {
  echo 'success';
}

これを確認してください $url is www.google.com.then 正しい結果が得られます

于 2012-07-28T11:24:14.973 に答える
2

リクエストは実際に成功し、$content にページがあります。しかし、あなたは成功するための間違ったテストをします。URL は 200 ではなく 302 を返します。

于 2012-07-28T11:22:03.163 に答える
0

ステータス 302 (FOUND) を返すためです。

echo $http_response_header[0];// 'HTTP/1.0 302 Found' を返します

于 2012-07-28T11:24:11.410 に答える
0

file_get_contents一部のサーバー構成では、 (経由で)リモート アドレスを開くことができませんfopen。構成を変更したいかもしれませんが、リモート サイトを開く方法 (より信頼性が高く、約 20 倍高速) はcURLを使用することを好んでいました。

高速で簡単な例は、こちらの PHP ドキュメントにあります。

于 2012-07-28T11:24:46.780 に答える