Curl, formulaire et afficher resultat
Posté : 21 nov. 2010, 03:48
Bonjour,
Je suis débutant en Curl, mon objectif est de valider un formulaire et voir le resultat de la page qui suit le formulaire.
A vrais dire il y a longtemps que je teste mais le site me bloque l'acces en tant que "erreur generique", donc je dois certainement oublier des informations...
le FORM est le suivant:
Je vous serai très reconnaissant de bien vouloir jeter un petit coup d'oeuil a ce code, je suis sur que quelque chose doit manquer...
Merci
Je suis débutant en Curl, mon objectif est de valider un formulaire et voir le resultat de la page qui suit le formulaire.
A vrais dire il y a longtemps que je teste mais le site me bloque l'acces en tant que "erreur generique", donc je dois certainement oublier des informations...
le FORM est le suivant:
<form action="GeneralServlet" method="post" name="InicioForm" autocomplete="off">
<input type="hidden" name="ajax" value="permitido">
<input name="idioma" type="hidden" value="">
<input name="pageOperation" type="hidden" value="LOGIN">
<input name="login" type="text" value="" maxlength="12">
<input name="password" id="password" type="password" value="" maxlength="12" onfocus="mostrarTeclado()">
<input type="submit" value="Entrar" class="boton">
</form>
Et le script php est le suivant :<?php
// Données à envoyer
$post = array();
$post["ajax"] = "permitido";
$post["idioma"] = "";
$post["pageOperation"] = "LOGIN";
$post["login"] = "AAAAA";
$post["password"] = "BBBBB";
$post["submit"] = "Entrar";
$message_sous_forme_de_chaine = http_build_query($post);
// On effectue la requête avec cURL
$useragent = "Mozilla/5.0";
$url = "https://interconnexio2.bibm.ad/GeneralServlet"; //argument action dans form
$referer = $url;
//Initialise une session CURL
$ch = curl_init($url);
curl_setopt( $ch, CURLOPT_URL, $url);
curl_setopt( $ch, CURLOPT_HEADER, FALSE );
//on récupère le contenu de la page de résultat de la soumission dans une chaine
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
//CURL options
curl_setopt($ch, CURLOPT_POST, TRUE);
//On poste les données du tableau $postfields
curl_setopt($ch, CURLOPT_POSTFIELDS, $message_sous_forme_de_chaine);
//a mettre absoluement sinon, la liste de certificats existants ne sera pas prise en compte
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
//On passe un referrer ici on passe la même page $url
curl_setopt($ch, CURLOPT_REFERER, $referer);
//On définit un useragent ici Mozilla/5.0
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
// en cas de redirection (facultatif ici)
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
//Page de résultats et fermeture de session
//$result =
$ret = curl_exec($ch);
if (!$ret) {
echo curl_error($ch);
} else {
echo 'Envoi OK !';
echo '<br>'.$ret;
}
curl_close($ch);
?>
le site en question est : https://interconnexio2.bibm.ad/GeneralServlet , c le site de ma banque.Je vous serai très reconnaissant de bien vouloir jeter un petit coup d'oeuil a ce code, je suis sur que quelque chose doit manquer...
Merci