Que ce soit pour remplir un formulaire automatiquement ou lancer un script à distance, la requête HTTP POST va permettre de passer des variables dans la requête HTTP.
La requête HTTP GET est utile mais rapidement, nus allons avoir besoin de faire passer des variables.
Faire une requête HTTP POST
Nous allons ouvrir un fichier ou script php et y saisir :
<?php ////////// PARAMS // Complétez $url avec l'url cible (l'url de la page que vous voulez télécharger) $url="www.mon_adresse.com"; // Complétez le tableau associatif $postFields avec les variables qui seront envoyées par POST au serveur $postFields=array(nom_variale_1 => "variable_1",nom_variable_2 => "variable_2"); // Tableau contenant les options de téléchargement $options=array( CURLOPT_URL => $url, // Url cible (l'url de la page que vous voulez télécharger) CURLOPT_RETURNTRANSFER => true, // Retourner le contenu téléchargé dans une chaine (au lieu de l'afficher directement) CURLOPT_HEADER => false, // Ne pas inclure l'entête de réponse du serveur dans la chaine retournée CURLOPT_FAILONERROR => true, // Gestion des codes d'erreur HTTP supérieurs ou égaux à 400 CURLOPT_POST => true, // Effectuer une requête de type POST CURLOPT_POSTFIELDS => $postFields // Le tableau associatif contenant les variables envoyées par POST au serveur ); // Création d'un nouvelle ressource cURL $CURL=curl_init(); // Erreur suffisante pour justifier un die() if(empty($CURL)){ die("ERREUR curl_init : Il semble que cURL ne soit pas disponible."); } // Configuration des options de téléchargement curl_setopt_array($CURL,$options); // Exécution de la requête $content=curl_exec($CURL); // Le contenu téléchargé est enregistré dans la variable $content. Libre à vous de l'afficher. echo $content; // Si il s'est produit une erreur lors du téléchargement if(curl_errno($CURL)){ // Le message d'erreur correspondant est affiché echo "ERREUR curl_exec : ".curl_error($CURL); } // Fermeture de la session cURL curl_close($CURL); ?>
Voilà, vouspouvez voir que l’on attend d’avoir le retour du contenu de la requête, ce qui n’est pas forcément adapté si vous devez lancer l’exécution d’un script qui peut prendre du temps.
N’hésitez pas à commenter et partager.