2011-12-16 20 views
1

を実行し、http://www.google.comは、次のコードを使用して言います。なし希望を持って私は、URLの応答を取得したいHTTPリクエスト

@file_get_contents("http://www.google.com/"); 

: 私もこれを試してみました。 誰かがそれを手伝ってもらえますか?

+1

あなたの 'allow_url_fopen' ini設定とは何ですか? –

+0

私はエラー抑制を無効にして(それらの関数の前に '@'を削除して)、あなたのphp.iniファイルで 'allow_url_fopen'が有効になっていることを確認します。いったんこれを実行すると、生成されたエラーが何であるかをお知らせください。 –

+0

GoogleルールでCURLなどの検索結果のダウンロードが禁止されていることを覚えておいてください。 – PiKey

答えて

2

HTTPリクエストに対してfile_get_contents()を使用できますが、適切なストリームコンテキストを正しく設定する必要があります。 (マニュアルPHP hereから取られた)このコードで

ルック:多くの人が提案のように

// Create a stream 
$opts = array(
    'http'=>array(
    'method'=>"GET" 
) 
); 

$context = stream_context_create($opts); 

// Open the file using the HTTP headers set above 
$file = file_get_contents('http://www.google.com/', false, $context); 

これは、PHPでHTTPリクエストを実行するためのより良い方法はcURL拡張モジュールを使用して確実にある場合でも、動作するはずですこのスレッドでは

+0

ハァッ、ストリームのコンテキストのことを知りませんでした。次回は、User-Agentを設定する必要がありますし、cURLしたくありません。 –

0

標準ファイル機能を使用してURLを開くと、設定フラグallow_url_fopenが設定されている場合にのみ動作します。これはシステムレベルの設定なので、おそらくphp.iniを編集して有効にする必要があります。

1

あなたは、それはまた、HTTP接続を行うことからPHPをブロックしているあなたのソフトウェアファイアウォールかもしれカールhttp://www.php.net/manual/en/curl.examples-basic.php

を使用することがはるかに良いです。この

 function get_html($url){ 
      /** 
      * Initialize the cURL session 
      */ 
      $ch = curl_init(); 
      /** 
      * Set the URL of the page or file to download. 
      */ 
      curl_setopt($ch, CURLOPT_URL,$url); 
      /** 
      * Ask cURL to return the contents in a variable 
      * instead of simply echoing them to the browser. 
      */ 
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
      /** 
      * Execute the cURL session 
      */ 
      $contents = curl_exec ($ch); 
      /** 
      * Close cURL session 
      */ 
      curl_close ($ch); 

      return $contents; 
     } 
0

ようなHTMLを取得するためのcURLを使用することができます。

0

PHPモジュールから独立した小さなHTTPクライアントライブラリを作成しました。 videodb.netのPHPパッケージにバンドルされ、キャッシュメカニズム、HTTP 1.0/1.1、プロキシサポートなどが含まれています。もし興味があるなら、core/httpclient.phpを確認してください。

関連する問題