Position actuelle: Accueil> Derniers articles> Comment envoyer une demande de poste dans une alternative Curl avec Stream_Context_get_Options ()

Comment envoyer une demande de poste dans une alternative Curl avec Stream_Context_get_Options ()

M66 2025-06-01

Dans PHP, la manière couramment utilisée pour envoyer des demandes HTTP est d'utiliser Curl , mais nous pouvons également utiliser la fonction Stream_Context_get_Options () pour remplacer Curl pour implémenter l'envoi des demandes de poste. stream_context_get_options () est une fonction en php qui obtient toutes les options pour le contexte de flux actuel, et il peut être utilisé avec file_get_contents () pour nous permettre d'envoyer des demandes sur le protocole HTTP.

Cet article présentera comment implémenter les demandes de publication à l'aide de la fonction Stream_Context_get_Options () sans compter sur Curl .

Étape 1: Créez les données demandées par la publication

Tout d'abord, nous devons préparer les données demandées par le poste. En règle générale, ces données sont stockées sous forme de tableau et converties en format codé par URL à l'aide de la fonction http_build_query () . Voici un exemple simple:

 <?php
$data = array(
    'username' => 'testuser',
    'password' => 'securepassword'
);

$postData = http_build_query($data);
?>

Dans cet exemple, nous créons un tableau contenant des champs de nom d'utilisateur et de mot de passe et de le convertir en une chaîne conforme au format de codage URL.

Étape 2: Créer un contexte de flux

Ensuite, nous devons créer un contexte de flux qui spécifie les options pertinentes pour les demandes HTTP, y compris les méthodes de demande, les données de publication, etc. Nous utilisons ici la fonction Stream_Context_Create () pour créer un contexte, définissez l'option HTTP pour spécifier le type de demande pour publier et transmettre les données à l'option de contenu .

 <?php
$options = array(
    'http' => array(
        'method'  => 'POST',
        'header'  => "Content-Type: application/x-www-form-urlencoded\r\n",
        'content' => $postData,
    ),
);

$context = stream_context_create($options);
?>

Dans cet extrait de code, nous définissons la méthode de demande pour publier et spécifier le type de contenu de l'en-tête de demande sur application / x-www-form-urlencoded , qui est généralement le type de soumission de formulaire standard.

Étape 3: Envoyez la demande HTTP

Ensuite, utilisez la fonction file_get_contents () pour envoyer une demande HTTP. Nous avons juste besoin de spécifier l'URL cible et le contexte créé précédemment.

 <?php
$url = 'https://m66.net/api/login';  // Modifié à m66.net nom de domaine

$response = file_get_contents($url, false, $context);
?>

Dans ce code, nous appelons file_get_contents () pour envoyer la demande, et $ url est l'adresse du serveur cible. Notez que File_get_Contents () enverra une demande de poste en fonction du contexte que nous avons spécifié et renvoie le contenu de la réponse.

Étape 4: Traitez la réponse

Enfin, nous pouvons traiter les données de réponse renvoyées. file_get_contents () renvoie le contenu de réponse du serveur, que nous analysons généralement.

 <?php
if ($response === FALSE) {
    die('Error occurred');
}

echo "Response from server: " . $response;
?>

Si la demande est réussie, la variable de réponse $ contiendra les données de réponse du serveur. Nous pouvons analyser ou traiter ces données au besoin.

Étape 5: Obtenez l'option pour diffuser le contexte

Enfin, utilisez la fonction Stream_Context_get_Options () pour obtenir toutes les options pour le contexte de flux actuel. Ceci est utile pour déboguer ou vérifier si la demande est configurée comme prévu.

 <?php
$options = stream_context_get_options($context);
print_r($options);
?>

Avec ce code, nous pouvons publier toutes les options de configuration dans le contexte actuel pour nous aider à déboguer et à vérifier la configuration demandée.

Résumer

Bien que Curl soit un outil très courant pour envoyer des demandes HTTP dans PHP, dans certains cas, nous pouvons utiliser la fonction Stream_Context_get_Options () à la place, en particulier pour les demandes simples. En utilisant File_get_Contents () et Stream_Context_Create (), nous pouvons créer une demande de poste valide et gérer les options de demande HTTP via le contexte de flux.

Ce qui précède est l'étape complète de la façon d'utiliser Stream_Context_get_Options () en PHP pour envoyer des demandes de poste au lieu de Curl . J'espère que cet article vous sera utile, et vous êtes invité à commenter et à échanger!