SunshinePHP Developer Conference 2015

http_get

(PECL pecl_http >= 0.1.0)

http_getEffectue une requête GET

Description

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

Effectue une requête HTTP GET sur l'URL fournie.

Voir la liste complète des options de demande.

Liste de paramètres

url

URL

options

options de demande

info

Doit contenir les informations requête/réponse

Valeurs de retour

Retourne la(les) réponse(s) HTTP sous la forme d'une chaîne de caractères en cas de succès, ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec http_get()

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

L'exemple ci-dessus va afficher :

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
1
tjerk dot meesters at muvee dot com
7 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
1
tac at smokescreen dot org
7 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
6 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