Manuel PHP
Précédent |  | Suivant

# http_get

(PECL)

http_get -- Effectue une requête GET

## Description

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

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

Le second paramètre, si défini, doit être un tableau associatif contenant les options suivantes :

Tableau 1. Options d'une requête HTTP

Nom | Type | Description
--- | --- | ---
redirect | entier | si l'on doit suivre les redirections et combien de redirections l'on doit suivre
unrestrictedauth | booléen | si l'on doit continuer à envoyer les credentials sur les redirections vers un hôte différent
proxyhost | chaîne de caractères | hôte du proxy sous le format "host[:port]"
proxyport | entier | utilisation d'un autre port pour le proxy à spécifier dans l'hôte du proxy
proxytype | entier | `HTTP_PROXY_HTTP`, `HTTP_PROXY_SOCKS4` ou `HTTP_PROXY_SOCKS5`
proxyauth | chaîne de caractères | credentials du proxy sous le format "user:pass"
proxyauthtype | entier | `HTTP_AUTH_BASIC` et/ou `HTTP_AUTH_NTLM`
httpauth | chaîne de caractères | credentials http sous le format "user:pass"
httpauthtype | entier | `HTTP_AUTH_BASIC`, `HTTP_AUTH_DIGEST` et/ou `HTTP_AUTH_NTLM`
compress | booléen | si l'on autorise du contenu encodé gzip/deflate
port | entier | utilisation d'un autre port tel que spécifié dans l'URL
referer | chaîne de caractères | le référant à envoyer
useragent | chaîne de caractères | l'agent utilisation à envoyer (par défaut, PECL::HTTP/version (PHP/version))
headers | tableau | liste des en-têtes personnalisées sous la forme d'un tableau associatif comme array("en-tête" => "valeur")
cookies | tableau | liste de cookies sous la forme d'un tableau associatif comme array("cookie" => "valeur")
encodecookies | booléen | si l'on doit encoder URL les cookies (par défaut : true)
cookiestore | chaîne de caractères | chemin vers le fichier où les cookies seront stockés
cookiesession | booléen | ne charge pas les cookies de session depuis le magasin de cookies si ce paramètre vaut `TRUE`
resume | entier | position de l'octet d'où l'on doit commencer le téléchargement ; si le serveur supporte les intervalles
range | tableau | tableau de tableaux, chaqu'un contenant deux entiers, spécifiant l'intervalle de téléchargement si le serveur supporte les intervalles ; seulement reconnu si l'option resume est vide
maxfilesize | entier | taille maximale du fichier que l'on peut télécharger
lastmodified | entier | timestamp pour l'en-tête `If-(Un)Modified-Since`
etag | chaîne de caractères | ETag pour l'en-tête `If-(None-)Match`
timeout | entier | durée d'exécution de la requête
connecttimeout | entier | durée de vie de la connexion
onprogress | mixed | callback de la progression
interface | chaîne de caractères | interface du réseau sortant (ifname, ip ou hostname)
portrange | tableau | 2 entiers spécifiant l'intervalle des ports de sortie à essayer

ssl

tableau

Tableau 2. avec les options suivantes :

Nom | Type | Description
cert | chaîne de caractères | chemin à certifier
certtype | chaîne de caractères | type de certificat
certpasswd | chaîne de caractères | mot de passe du certificat
key | chaîne de caractères | chemin de la clé
keytype | chaîne de caractères | type de la clé
keypasswd | chaîne de caractères | mot de passe pour la clé
engine | chaîne de caractères | moteur ssl à utiliser
version | entier | version ssl à utiliser
verifypeer | booléen | si l'on doit vérifier la paire
verifyhost | booléen | si l'on doit vérifier l'hôte
cipher_list | chaîne de caractères | liste des ciphers autorisés
cainfo | chaîne de caractères |
capath | chaîne de caractères |
random_file | chaîne de caractères |
egdsocket | chaîne de caractères |

## Liste de paramètres

`url`

  URL

`options`

  options de la requête HTTP

`info`

  Doit contenir les informations requête/réponse

      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' => '',
      )

## 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 en cas d'échec.

Précédent | Sommaire | Suivant
http_parse_params | Niveau supérieur | http_head