http_get
(PECL pecl_http >= 0.1.0)
http_get — Perform GET request
Description
string http_get
( string
$url
[, array $options
[, array &$info
]] )Performs an HTTP GET request on the supplied url.
See the full list of request options.
Return Values
Returns the HTTP response(s) as string on
success, or FALSE
on failure.
Examples
Example #1 A http_get() example
<?php
$response = http_get("http://www.example.com/", array("timeout"=>1), $info);
print_r($info);
?>
The above example will output:
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' => '', )
[an error occurred while processing the directive]
- http_cache_etag
- http_cache_last_modified
- http_chunked_decode
- http_deflate
- http_inflate
- http_build_cookie
- http_date
- http_get_request_body_stream
- http_get_request_body
- http_get_request_headers
- http_match_etag
- http_match_modified
- http_match_request_header
- http_support
- http_negotiate_charset
- http_negotiate_content_type
- http_negotiate_language
- ob_deflatehandler
- ob_etaghandler
- ob_inflatehandler
- http_parse_cookie
- http_parse_headers
- http_parse_message
- http_parse_params
- http_persistent_handles_clean
- http_persistent_handles_count
- http_persistent_handles_ident
- http_get
- http_head
- http_post_data
- http_post_fields
- http_put_data
- http_put_file
- http_put_stream
- http_request_body_encode
- http_request_method_exists
- http_request_method_name
- http_request_method_register
- http_request_method_unregister
- http_request
- http_redirect
- http_send_content_disposition
- http_send_content_type
- http_send_data
- http_send_file
- http_send_last_modified
- http_send_status
- http_send_stream
- http_throttle
- http_build_str
- http_build_url
Коментарии
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.
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)
[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