Options de contexte HTTP — Liste des options de contexte HTTP
Options de contexte pour les protocoles http:// et https://.
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 .
|
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);
?>
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.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).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', ...