Bonjour,
Je souhaite simuler l'envoi d'un formulaire sur un site tier via cUrl.
Le formulaire sur le site est de ce type :
J'ai donc essayé de simuler l'envoi de ce formulaire avec cUrl via le code suivant :
Cependant, avec ce code, le résultat qui m'est retourné donne une erreur.
J'ai essayé de faire le formulaire sur mon site en renseignant l'action avec "http://www.le_site.fr/lien.pl?id=xxxxxxxx&idt=XXXXXXXX" et là, la réponse qui m'est retournée est correcte.
Je me disais que le problème venait peut-être du type du formulaire et plus particulièrement de la propriété enctype="application/x-www-form-urlencoded".
En effet, sur le même site et toujours avec cUrl, j'arrive parfaitement à récupérer le résultat d'un autre formulaire où aucun enctype n'est precise.
Par contre, je ne sais pas du tout comment on peut définier cette option avec cUrl !!
Donc merci d'avance pour votre aide…
Je souhaite simuler l'envoi d'un formulaire sur un site tier via cUrl.
Le formulaire sur le site est de ce type :
<form action="lien.pl?id=xxxxxxxx&idt=XXXXXXXX" method="post" enctype="application/x-www-form-urlencoded">
<input type="radio" name="info" value="0" CHECKED>Info 1
<input type="radio" name="info" value="1">Info 2
<input type="radio" name="info" value="2">Info 3
<input name="ok" src="image.gif" type="image" value="submit" alt="Valider">
</form>
J'ai donc essayé de simuler l'envoi de ce formulaire avec cUrl via le code suivant :
$post = array(
'info' => "1",
'ok' => "submit",
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "lien.pl?id=xxxxxxxx&idt=XXXXXXXX");
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$file_contents = curl_exec($curl);
curl_close($curl);
Cependant, avec ce code, le résultat qui m'est retourné donne une erreur.
J'ai essayé de faire le formulaire sur mon site en renseignant l'action avec "http://www.le_site.fr/lien.pl?id=xxxxxxxx&idt=XXXXXXXX" et là, la réponse qui m'est retournée est correcte.
Je me disais que le problème venait peut-être du type du formulaire et plus particulièrement de la propriété enctype="application/x-www-form-urlencoded".
En effet, sur le même site et toujours avec cUrl, j'arrive parfaitement à récupérer le résultat d'un autre formulaire où aucun enctype n'est precise.
Par contre, je ne sais pas du tout comment on peut définier cette option avec cUrl !!
Donc merci d'avance pour votre aide…