CURL : envoie d'une requete POST [Résolu]

Messages postés
144
Date d'inscription
samedi 30 août 2003
Statut
Membre
Dernière intervention
14 août 2008
- - Dernière réponse : cs_millo
Messages postés
3
Date d'inscription
jeudi 25 septembre 2003
Statut
Membre
Dernière intervention
1 mars 2007
- 1 mars 2007 à 17:35
Bonjour,
Est ce que vous pouvez m'expliquer comment envoyer une requete POST avec curl.

Merci d'avances
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17
3
Merci
Hello,

mettons que ce soit des données en post...sur la page du formulaire (ou la page sur laquelle renvoei ton formulaire), dans le traitement du formulaire, tu mets ceci (par exemple) :
  $rCurl = curl_init();
  curl_setopt ($rCurl, CURLOPT_URL, "http://www.monserveur.com/pageCurl.php");
  curl_setopt ($rCurl, CURLOPT_HEADER, false);
  curl_setopt ($rCurl, CURLOPT_POST, true);
  curl_setopt ($rCurl, CURLOPT_POSTFIELDS, $_POST);
  curl_setopt ($rCurl, CURLOPT_RETURNTRANSFER, true);
  $bResult = curl_exec ($rCurl);
  curl_close ($rCurl);

echo $bResult;

Mates la doc, surtout pour les options, c'est important!
http://fr2.php.net/manual/fr/ref.curl.php

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci

Commenter la réponse de malalam
Messages postés
10918
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17
3
Merci
Bon un exemple plus complet :

curltest.php :
<?php
if (isset ($_POST['curlme']) && $_POST['curlme'] === 'Envoyer') {
 $rCurl = curl_init();
 curl_setopt ($rCurl, CURLOPT_URL, "http://localhost/tests/pagecurl.php");
 curl_setopt ($rCurl, CURLOPT_HEADER, false);
 curl_setopt ($rCurl, CURLOPT_POST, true);
 curl_setopt ($rCurl, CURLOPT_POSTFIELDS, $_POST);
 curl_setopt ($rCurl, CURLOPT_RETURNTRANSFER, true);
 $iResult = curl_exec ($rCurl);
 curl_close ($rCurl);
 echo 'Valeur retournée : ', $iResult, '

';
}
?>
<form action="" method="post">
 
  <label for="chiffre">Entrez un chiffre</label>
  
 

 
  
 

</form>

pagecurl.php :
<?php
if (isset ($_POST['chiffre'])) {
 if (is_numeric ($_POST['chiffre'])) {
  echo $_POST['chiffre'], ' * 2 = ', (int)($_POST['chiffre'] * 2);
 } else {
  echo 'La valeur envoyée n\'était pas numérique';
 }
}
?>

attention, pour cet exemple (c'est juste un exemple), regarde l'url que j'ai mise dans CURLOPT_URL : les 2 fichiers (ou du moins le fichier pagecurl.php) doivent se trouver dans la racine de ton serveur web/tests/

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci

Commenter la réponse de malalam
Messages postés
63
Date d'inscription
lundi 7 juin 2004
Statut
Membre
Dernière intervention
16 mai 2009
0
Merci
Pour toutes informations sur curl.  Voir : http://fr.php.net/curl   ( Site anglais )

Lefter
Commenter la réponse de lefter
Messages postés
144
Date d'inscription
samedi 30 août 2003
Statut
Membre
Dernière intervention
14 août 2008
0
Merci
merciiii, je devrais m'en sortir avec ca
Commenter la réponse de jeje11991
Messages postés
3
Date d'inscription
jeudi 25 septembre 2003
Statut
Membre
Dernière intervention
1 mars 2007
0
Merci
Bonjour à tous !

Je cherche à utiliser curl pour envoyer des données POST avec quelques champs texte mais aussi un champ file qui me pose problème. Quelqu'un pourrait il m'indiquer la marche à suivre pour ce type d'opération ?

Merci d'avance !
Commenter la réponse de cs_millo