Simulation postage

supergyver Messages postés 29 Date d'inscription jeudi 19 février 2004 Statut Membre Dernière intervention 14 février 2007 - 14 févr. 2006 à 14:52
supergyver Messages postés 29 Date d'inscription jeudi 19 février 2004 Statut Membre Dernière intervention 14 février 2007 - 14 févr. 2006 à 16:27
Bonjour,



J'ai une page à laquelle je dois m'identifier régulièrement juste histoire de montrer que je suis toujours vivant...

Pour celà, il y a une page d'identification "A.html" (avec login et mot de passe) qui amène à la page "B.html"

Je voudrais automatiser mon identification.

Pour celà, je voudrais directement appeler la page "B.html" depuis un cron tel que webcron.

Si le formulaire était en mode GET, j'aurais juste mis les paramètres d'identification dans l'URL à charger par webcron.

Seulement, le formulaire est en mode POST...

Comment faire pour lui envoyer mes données ?



PS - On m'avait conseillé de créer une page perso identique à "A.html"
avec les champs login et password pré-renseignés et un submit
automatique au bout d'un certain temps. Le problème, c'est que ça se
faisait en javascript et comme la page est appelée par Webcron, le
javascript n'est pas interprété.



Quelqu'un a une autre idée ?

7 réponses

malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
14 févr. 2006 à 15:16
Pour moi qui ai l'habitude de faire compliquer quand on peut faire simple (), je passerais par les fonction CURL (cf CURLOPT_POST) -> http://php.benscom.com/manual/fr/function.curl-setopt.php (exple: http://phpcs.com/code.aspx?ID=33345)...



Mais je dis pas que y a pas plus simple hein!


*****
THINK -> SEEK -> ASK
0
supergyver Messages postés 29 Date d'inscription jeudi 19 février 2004 Statut Membre Dernière intervention 14 février 2007
14 févr. 2006 à 15:26
Je conais pas mais je vais tester.

Merci
0
supergyver Messages postés 29 Date d'inscription jeudi 19 février 2004 Statut Membre Dernière intervention 14 février 2007
14 févr. 2006 à 15:29
J'ai le message suivant: Fatal Error: Call to undefined function: curl_init()



Mon hébergeur ne connaît pas cette fonction ;-)



Une autre solution ?
0
malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
14 févr. 2006 à 15:37
0

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

Posez votre question
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
14 févr. 2006 à 15:46
Au passage, si tes fichiers sont en .html ==> le PHP ne s'éxecute pas.
On commence bien par mettre les choses au clair.

" Seulement, le formulaire est en mode POST..."
Bah un formulaire peut-être de type GET :
<form action="xxx.php" method="GET">

Et récupérable via :
$_GET['ton champ'];
0
supergyver Messages postés 29 Date d'inscription jeudi 19 février 2004 Statut Membre Dernière intervention 14 février 2007
14 févr. 2006 à 16:19
Le fichier de destination est une fourniture externe sur laquelle je n'ai pas la main...

S'ils utilisent des $_POST['nom_champ'], je suis bien obligé de simuler un formulaire en pethode POST.

Concernant les fichiers HTML, je me doute bien que le PHP ne s'exécute pas ;-)

(mais c'est possible.... si il y a de l'URLREWRITING là-dessous ;-)

Donc pour reprendre, le fichier destination est "B.php" sur lequel je n'ai pas la main.
0
supergyver Messages postés 29 Date d'inscription jeudi 19 février 2004 Statut Membre Dernière intervention 14 février 2007
14 févr. 2006 à 16:27
En partant sur la solution des fsockopen, comment dois-je faire pour envoyer mes identifiants et charger la page finale ?



Est-ce qu'un truc comme ça devrait fonctionner ?




<?php

$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);

if (!$fp) {

    echo "$errstr ($errno)
\n";

} else {

   // Identification

    
$out = "POST/ HTTP/1.1\r\n";

   $out .= "LOGIN: monlogin
\r\n";

   $out .= "PWD: monPWD
\r\n";


    $out .= "Host: www.example.com\r\n";

    $out .= "Connection: Close\r\n\r\n";



    fwrite($fp, $out);



   // R&#233;cup&#233;ration de la page apr&#232;s identification

   $out = "GET / HTTP/1.1\r\n";

    $out .= "Host: www.example.com\r\n";

    $out .= "Connection: Close\r\n\r\n";



    fwrite($fp, $out);

    while (!feof($fp)) {

        echo fgets($fp, 128);

    }

    fclose($fp);

}

?>

0
Rejoignez-nous