Options de contexte HTTP — Liste des options de contexte HTTP
Options de contexte pour les protocoles http://
et https://
.
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 fluxhttp://
, référez-vous aux options de contexte du transporttcp://
. Pour les fluxhttps://
, référez-vous aux options de contexte du transportssl://
.
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'index0
.La première requête retourne unearray ( 'wrapper_data' => array ( 0 => 'HTTP/1.0 301 Moved Permanently', 1 => 'Cache-Control: no-cache', 2 => 'Connection: close', 3 => 'Location: http://example.com/foo.jpg', 4 => 'HTTP/1.1 200 OK', ...301
(redirection permanente), ainsi, le gestionnaire de flux suit automatiquement la redirection pour récupérer une réponse200
(index =4
).