Rechercher une fonction PHP

Options de contexte HTTP

Options de contexte HTTPListe des options de contexte HTTP

Description

Options de contexte pour les protocoles http:// et https://.

Retour à la première page de Manuel PHP  Table des matières Haut

Options

method chaîne de caractères

GET, POST, ou n'importe quelle autre méthode HTTP supportée par le serveur distant.

Par défaut, vaut GET.

header array ou string

En-têtes supplémentaires à envoyer lors de la requête. Les valeurs de cette option écraseront les autres valeurs (comme User-agent:, Host:, et Authentication:).

user_agent chaîne de caractères

Valeur à envoyer avec l'en-tête User-Agent:. Cette valeur ne doit être utilisée que si l'agent utilisateur n'est pas spécifié dans l'option de contexte header ci-dessus.

Par défaut, la valeur de l'option de configuration user_agent du fichier php.ini sera utilisée.

content chaîne de caractères

Les données supplémentaires à envoyer après les en-têtes. Typiquement utilisées lors des requêtes POST ou PUT.

proxy chaîne de caractères

URI de l'adresse du proxy. (e.g. tcp://proxy.example.com:5100).

request_fulluri booléen

Lorsque défini à TRUE, l'URI entière sera utilisée lors de la construction de la requête. (i.e. GET http://www.example.com/path/to/file.html HTTP/1.0). Bien que ce format de demande ne soit pas standard, certains serveurs de proxy le demandent.

Par défaut, vaut FALSE.

follow_location integer

Suit les redirections Location. À définir à 0 pour désactiver.

Par défaut, vaut 1.

max_redirects integer

Le nombre maximal de redirections à suivre. La valeur 1 ou inférieure signifie qu'aucune redirection ne sera suivie.

Par défaut, vaut 20.

protocol_version nombre décimal

Version du protocole HTTP.

Par défaut, vaut 1.0.

Note:

Dans les versions antérieures à 5.3.0, PHP n'implémente pas le décodage du transfert. Aussi, si la valeur est définie à 1.1, il est de votre responsabilité d'être conforme à 1.1.

timeout nombre décimal

Délai maximal d'attente pour la lecture, sous la forme d'un nombre décimal (e.g. 10.5).

Par défaut, la valeur de l'option de configuration default_socket_timeout du fichier php.ini sera utilisée.

ignore_errors booléen

Récupère le contenu même lors de la réception d'un code d'échec.

Par défaut, vaut FALSE.

Retour à la première page de Manuel PHP  Table des matières Haut

Historique

Version Description
5.3.4 Ajout du paramètre follow_location.
5.3.0 Le paramètre protocol_version supporte les transferts chunked lorsqu'on lui assigne la valeur 1.1.
5.2.10 Ajout du paramètre ignore_errors.
5.2.10 Le paramètre header peut désormais être un tableau indexé numériquement.
5.2.1 Ajout du paramètre timeout.
5.1.0 Ajout de la possibilité d'utiliser des proxy HTTPS.
5.1.0 Ajout du paramètre max_redirects.
5.1.0 Ajout du paramètre protocol_version.

Retour à la première page de Manuel PHP  Table des matières Haut

Exemples

Exemple #1 Récupération d'une page et envoi de données POST

<?php

$postdata 
http_build_query(
    array(
        
'var1' => 'du contenu',
        
'var2' => 'doh'
    
)
);

$opts = array('http' =>
    array(
        
'method'  => 'POST',
        
'header'  => 'Content-type: application/x-www-form-urlencoded',
        
'content' => $postdata
    
)
);

$context stream_context_create($opts);

$result file_get_contents('http://example.com/submit.php'false$context);

?>

Exemple #2 Ignore les redirections mais récupère les en-têtes et le contenu

<?php

$url 
"http://www.example.org/header.php";

$opts = array('http' =>
    array(
        
'method' => 'GET',
        
'max_redirects' => '0',
        
'ignore_errors' => '1'
    
)
);

$context stream_context_create($opts);
$stream fopen($url'r'false$context);

// informations sur les en-têtes et métadonnées du flux
var_dump(stream_get_meta_data($stream));

// données actuelles de $url
var_dump(stream_get_contents($stream));
fclose($stream);
?>

Retour à la première page de Manuel PHP  Table des matières Haut

Notes

Note: Options de contexte du flux sous-jacent
Des options de contexte supplémentaires peuvent être supportées par le transport sous-jacent. Pour les flux http://, référez-vous aux options de contexte du transport tcp://. Pour les flux https://, référez-vous aux options de contexte du transport ssl://.

Note: Ligne de statut HTTP
Lorsque ce gestionnaire de flux suit une redirection, wrapper_data, retourné par la fonction stream_get_meta_data() ne doit pas contenir obligatoirement la ligne de statut HTTP qui s'applique à des données de contenu à l'index 0.

array (
  'wrapper_data' =>
  array (
    0 => 'HTTP/1.0 301 Moved Permantenly',
    1 => 'Cache-Control: no-cache',
    2 => 'Connection: close',
    3 => 'Location: http://example.com/foo.jpg',
    4 => 'HTTP/1.1 200 OK',
    ...
La première requête retourne une 301 (redirection permanente), ainsi, le gestionnaire de flux suit automatiquement la redirection pour récupérer une réponse 200 (index = 4).

Rechercher une fonction PHP

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-context.http.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut