Bonjour,
J'ai utilisé cURL avec la méthode GET pour envoyer un fichier de configuration sous forme de fichier XML vers ma gateway de VoIP avec le code suivant:
192.168.15.1 -> @ip de la gateway
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <?php // Url cible $url="http://192.168.15.1/admin/resync?http//192.168.15.200/config.xml&xuser=admin&xpassword=admin"; // Le tableau associatif contenant les variables envoyées par POST au serveur $options=array( CURLOPT_URL => $url, // Url cible CURLOPT_RETURNTRANSFER => true, // Retourner le contenu téléchargé dans une chaine 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 ); // 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 // 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); ?>
192.168.15.200 -> @ip de mon serveur web
Le script fonctionne bien, mais je voudrai utiliser cURL avec la méthode POST en ajoutant les deux options "CURLOPT_POST" et "CURLOPT_POSTFIELDS " avec le code suivant:
Mais cela ne marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 <?php // Url cible $url="http://192.168.15.1/admin/resync?http//192.168.15.200/config.xml"; // Complétez le tableau associatif $postFields avec les variables qui seront envoyées par POST au serveur $postFields=array( "xuser" => "admin", // La variable xuser contenant la valeur admin "xpassword" => "admin" // La variable xpassword contenant la valeur admin ); // Le tableau associatif contenant les variables envoyées par POST au serveur $options=array( CURLOPT_URL => $url, // Url cible CURLOPT_RETURNTRANSFER => true, // Retourner le contenu téléchargé dans une chaine 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 // 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); ?>
Merci.
Partager