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).