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

NomTypeDescription
redirectentiersi l'on doit suivre les redirections et combien de redirections l'on doit suivre
unrestrictedauthbooléensi l'on doit continuer à envoyer les credentials sur les redirections vers un hôte différent
proxyhostchaîne de caractèreshôte du proxy sous le format "host[:port]"
proxyportentierutilisation d'un autre port pour le proxy à spécifier dans l'hôte du proxy
proxytypeentierHTTP_PROXY_HTTP, HTTP_PROXY_SOCKS4 ou HTTP_PROXY_SOCKS5
proxyauthchaîne de caractèrescredentials du proxy sous le format "user:pass"
proxyauthtypeentierHTTP_AUTH_BASIC et/ou HTTP_AUTH_NTLM
httpauthchaîne de caractèrescredentials http sous le format "user:pass"
httpauthtypeentierHTTP_AUTH_BASIC, HTTP_AUTH_DIGEST et/ou HTTP_AUTH_NTLM
compressbooléensi l'on autorise du contenu encodé gzip/deflate
portentierutilisation d'un autre port tel que spécifié dans l'URL
refererchaîne de caractèresle référant à envoyer
useragentchaîne de caractèresl'agent utilisation à envoyer (par défaut, PECL::HTTP/version (PHP/version))
headerstableauliste des en-têtes personnalisées sous la forme d'un tableau associatif comme array("en-tête" => "valeur")
cookiestableauliste de cookies sous la forme d'un tableau associatif comme array("cookie" => "valeur")
encodecookiesbooléensi l'on doit encoder URL les cookies (par défaut : true)
cookiestorechaîne de caractèreschemin vers le fichier où les cookies seront stockés
cookiesessionbooléenne charge pas les cookies de session depuis le magasin de cookies si ce paramètre vaut TRUE
resumeentierposition de l'octet d'où l'on doit commencer le téléchargement ; si le serveur supporte les intervalles
rangetableautableau 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
maxfilesizeentiertaille maximale du fichier que l'on peut télécharger
lastmodifiedentiertimestamp pour l'en-tête If-(Un)Modified-Since
etagchaîne de caractèresETag pour l'en-tête If-(None-)Match
timeoutentierdurée d'exécution de la requête
connecttimeoutentierdurée de vie de la connexion
onprogressmixedcallback de la progression
interfacechaîne de caractèresinterface du réseau sortant (ifname, ip ou hostname)
portrangetableau2 entiers spécifiant l'intervalle des ports de sortie à essayer
ssltableau

Tableau 2. avec les options suivantes :

NomTypeDescription
certchaîne de caractèreschemin à certifier
certtypechaîne de caractèrestype de certificat
certpasswdchaîne de caractèresmot de passe du certificat
keychaîne de caractèreschemin de la clé
keytypechaîne de caractèrestype de la clé
keypasswdchaîne de caractèresmot de passe pour la clé
enginechaîne de caractèresmoteur ssl à utiliser
versionentierversion ssl à utiliser
verifypeerbooléensi l'on doit vérifier la paire
verifyhostbooléensi l'on doit vérifier l'hôte
cipher_listchaîne de caractèresliste des ciphers autorisés
cainfochaîne de caractères 
capathchaîne de caractères 
random_filechaîne de caractères 
egdsocketchaî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.