[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
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' => '',
)
php at dav7 dot net ¶
5 years ago
tjerk dot meesters at muvee dot com ¶
6 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)
tac at smokescreen dot org ¶
6 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.
