Comment charger une autre url après une auth en POST avec PhantomJS

Comment charger une autre url après une auth en POST avec PhantomJS - HTML/CSS - Programmation

Marsh Posté le 23-05-2014 à 14:40:03    

Bonjour,
 
Je suis en train d'automatiser, avec PhantomJS, certaines actions sur une appli web disposant d'une authentification en HTTPS. J'ai réussi à coder l'authentification mais j'arrive pas à trouver comment charger une autre url, une fois l'authentification réussi :cry:
 

Code :
  1. var page = require('webpage').create(),
  2.    server = 'https://serveur/auth.cgi',
  3.    data = 'login=toto&pwd=titi&submit=ok';
  4. // Connexion
  5. page.open(server, 'post', data, function (status) {
  6.    if (status !== 'success') {
  7.        console.log('Echec');
  8.    } else {
  9.        // On est connecté.
  10.        console.log('Connexion OK...');
  11.        // --> ici, je voudrais charger une page de l'appli, maintenant que je suis authentifié. Je fais comment ???
  12.        console.log('Fin !');
  13.    }
  14.    phantom.exit();
  15. });


 
Merci par avance de votre aide :jap:


Message édité par rufo le 23-05-2014 à 14:40:26

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 23-05-2014 à 14:40:03   

Reply

Marsh Posté le 23-05-2014 à 14:44:21    

tu mets juste un  

Code :
  1. page.open(url, function (status) {
  2.  //Page is loaded!
  3.  phantom.exit();
  4. });


il conserve ses cookies ( tu peux d'ailleurs les regarder avec phantom.cookies)


---------------

Reply

Marsh Posté le 23-05-2014 à 15:33:46    

Merci, j'avais trouvé aussi. En fait, je mettais bien un page.open() à l'endroit que j'indiquais mais ce code était pas exécuté à cause du phantom.exit() qui suit. Si je l'enlève ce phantom.exit(), ça marche :??:
 
On dirait que le open est exécuté de manière asynchrone...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 23-05-2014 à 15:57:02    

oui , c'est le cas  
C'est pur ça que tu as le resultat dans un callback d'ailleurs


---------------

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed