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