CURL : envoie d'une requete POST

Résolu
jeje11991
Messages postés
144
Date d'inscription
samedi 30 août 2003
Statut
Membre
Dernière intervention
14 août 2008
- 24 août 2006 à 13:13
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

5 réponses

malalam
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
24 août 2006 à 13:23
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
3
malalam
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
24 août 2006 à 13:32
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/
3
lefter
Messages postés
63
Date d'inscription
lundi 7 juin 2004
Statut
Membre
Dernière intervention
16 mai 2009

24 août 2006 à 13:23
Pour toutes informations sur curl.  Voir : http://fr.php.net/curl   ( Site anglais )

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

24 août 2006 à 13:48
merciiii, je devrais m'en sortir avec ca
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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 à 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 !
0