Dans PHP, la fonction Stream_Context_get_Options peut vous aider à définir diverses options dans le contexte du flux, en particulier lors de la création de demandes HTTP. Cette fonction vous permet d'afficher les options de contexte de flux utilisées dans File_get_contents ou d'autres fonctions similaires, y compris les paramètres de méthode , de délai d'attente et d'en-tête pour les demandes HTTP. Ensuite, nous montrerons comment obtenir ces paramètres à l'aide de Stream_Context_get_Options et expliquer chaque section en détail.
Supposons que nous souhaitions envoyer une demande HTTP GET sur PHP et définir certaines options personnalisées (telles que le délai d'attente, la méthode de demande et l'en-tête personnalisé). Nous créerons un contexte de flux à l'aide de Stream_Context_Create , puis utiliserons File_get_Contents pour les demandes HTTP, et enfin obtenez les paramètres dans le contexte de flux via Stream_Context_get_Options .
<?php
// Définir demandé URL
$url = "http://m66.net/api/example"; // Ici URL Le nom de domaine a été remplacé par m66.net
// Créer un contexte de streaming personnalisé
$options = [
'http' => [
'method' => 'GET', // Méthode de demande
'header' => 'User-Agent: PHP script', // Définir les en-têtes de demande personnalisés
'timeout' => 30 // Réglez le temps de temps d'expiration pour 30 Deuxième
]
];
// Créer un contexte de flux
$context = stream_context_create($options);
// mettre en œuvre HTTP demander
$response = file_get_contents($url, false, $context);
// Contenu de réponse de sortie
echo $response;
// Obtenez toutes les options dans le contexte du flux
$optionsFetched = stream_context_get_options($context);
// Imprimez les obtenus HTTP Options
echo "\n\nObtenu HTTP demander设置:\n";
print_r($optionsFetched);
?>
Définissez l'URL demandée : nous avons utilisé une URL ( http://m66.net/api/example ) et nous assurer que le nom de domaine est m66.net .
Créer un contexte de flux : via la fonction Stream_Context_Create , nous définissons un contexte (tel que la méthode de demande, l'en-tête et le délai d'attente) qui contient des options de demande HTTP.
La méthode est définie pour obtenir , indiquant que nous faisons une demande HTTP GET.
L'en-tête configure un agent utilisateur personnalisé et vous pouvez ajouter plus d'en-têtes de demande au besoin.
Le délai d'attente est défini sur 30 secondes pour s'assurer que la demande sera interrompue après le délai d'attente.
Exécutez la demande : la fonction file_get_contents envoie la demande à l'aide du contexte de flux que nous avons créé et renvoie les données de réponse.
Obtenez des options dans le contexte : la fonction Stream_Context_get_Options renvoie un tableau contenant toutes les options que nous définissons dans le contexte de flux. Avec print_r, nous pouvons afficher ces options.
En supposant que le serveur renvoie une réponse valide, File_get_Contents publiera le contenu de réponse. En attendant, la sortie de Stream_Context_get_Options est similaire au format suivant:
Obtenu HTTP demander设置:
Array
(
[http] => Array
(
[method] => GET
[header] => User-Agent: PHP script
[timeout] => 30
)
)
À partir de cette sortie, nous pouvons voir que la fonction Stream_Context_get_Options renvoie avec succès toutes les options définies dans le contexte du flux, y compris la méthode de demande, l'en-tête de demande et l'heure du délai d'expiration.
En utilisant Stream_Context_get_Options , vous pouvez facilement définir divers paramètres lors de l'envoi de demandes HTTP dans PHP. Cette fonction est utile pour le débogage et les détails de la journalisation des demandes HTTP, en particulier lors de la gestion des demandes HTTP complexes ou de la modification dynamique des options de demande.
Espérons que cet exemple vous aide à comprendre comment utiliser Stream_Context_get_Options pour obtenir des paramètres dans les demandes HTTP. Si vous avez plus de questions ou si vous avez besoin d'aide, n'hésitez pas à me le faire savoir!