http_get

(PECL pecl_http >= 0.1.0)

http_getGET リクエストを実行する

説明

string http_get ( string $url [, array $options [, array &$info ]] )

指定した url に対して HTTP GET リクエストを実行します。

リクエストのオプション を参照ください。

パラメータ

url

URL。

options

リクエストのオプション

info

リクエスト/レスポンスの情報が格納されます。

返り値

成功した場合は HTTP レスポンスを文字列で、失敗した場合は FALSE を返します。

例1 http_get() の例

<?php
$response 
http_get("http://www.example.com/", array("timeout"=>1), $info);
print_r($info);
?>

上の例の出力は以下となります。

array (
  'effective_url' => 'http://www.example.com/',
  'response_code' => 302,
  'connect_code' => 0,
  'filetime' => -1,
  'total_time' => 0.212348,
  'namelookup_time' => 0.038296,
  'connect_time' => 0.104144,
  'pretransfer_time' => 0.104307,
  'starttransfer_time' => 0.212077,
  'redirect_time' => 0,
  'redirect_count' => 0,
  'size_upload' => 0,
  'size_download' => 218,
  'speed_download' => 1026,
  'speed_upload' => 0,
  'header_size' => 307,
  'request_size' => 103,
  'ssl_verifyresult' => 0,
  'ssl_engines' =>
  array (
    0 => 'dynamic',
    1 => 'cswift',
    2 => 'chil',
    3 => 'atalla',
    4 => 'nuron',
    5 => 'ubsec',
    6 => 'aep',
    7 => 'sureware',
    8 => '4758cca',
  ),
  'content_length_download' => 218,
  'content_length_upload' => 0,
  'content_type' => 'text/html',
  'httpauth_avail' => 0,
  'proxyauth_avail' => 0,
  'num_connects' => 1,
  'os_errno' => 0,
  'error' => '',
)

add a note add a note

User Contributed Notes 3 notes

up
6
tjerk dot meesters at muvee dot com
18 years ago
To change the request protocol use the option "protocol". The allowed values are:
* HTTP_VERSION_NONE  (integer)

* HTTP_VERSION_1_0 (integer)

* HTTP_VERSION_1_1 (integer)
up
5
tac at smokescreen dot org
18 years ago
The hard work of parsing out the response is done in http_parse_message().

To replace the relatively weak file_get_contents(), using

$body = http_parse_message(http_get($url))->body;

The advantages to using http_get include getting back headers and controlling timeouts.
up
0
php at dav7 dot net
16 years ago
[Moderators: This is not a bug report :P]

If you're using $data = http_get('http://...'); to get your message and you're getting weird numbers in it, PLEASE see tac at smokescreen dot org's message below!

Note that the body element http_parse_message returns is NOT the page's contents of the <body> tag! It's just the page content as seen by a browser, what wget would retrieve, what file_get_contents('http://...') would output, etc.

-dav7
To Top