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

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

Merci d'avances

5 réponses

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
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
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
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/
Messages postés
63
Date d'inscription
lundi 7 juin 2004
Statut
Membre
Dernière intervention
16 mai 2009

Pour toutes informations sur curl.  Voir : http://fr.php.net/curl   ( Site anglais )

Lefter
Messages postés
144
Date d'inscription
samedi 30 août 2003
Statut
Membre
Dernière intervention
14 août 2008

merciiii, je devrais m'en sortir avec ca
Messages postés
3
Date d'inscription
jeudi 25 septembre 2003
Statut
Membre
Dernière intervention
1 mars 2007

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 !