http_get
(PECL pecl_http >= 0.1.0)
http_get — Perform GET request
Описание
string http_get
( string
$url
[, array $options
[, array &$info
]] )Performs an HTTP GET request on the supplied url.
Смотрите полный список опции запроса.
Список параметров
-
url
-
URL
-
options
-
info
-
Will be filled with request/response information
Возвращаемые значения
Возвращает строку с HTTP-ответом(ами) при успешном завершении работы, или FALSE
при ошибке.
Примеры
Пример #1 A http_get() example
<?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' => '', )
[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