2017-10-14 4 views
0

J'utilise mécaniser (http://wwwsearch.sourceforge.net/mechanize/) pour se connecter à www.coinotron.com, mais l'exécution se bloque lorsque je br.submit()python mécaniser - ne peut pas soumettre un formulaire de connexion

import mechanize 
... 
br = mechanize.Browser() 
br.open("https://coinotron.com/app?action=logon") 
form = br.select_form(nr=0) 
br.form["name"] = "myusername" 
br.form["password"] = "mypassword" 
reponse = br.submit() # HERE THE EXECUTION HANGS! 

Si je commente la ligne de mot de passe, les scripts s'exécute bien, mais bien sûr, il ne se connecte pas.

Répondre

0

J'ai trouvé une solution de contournement, bien que je ne comprenne pas complètement pourquoi cela fonctionne. Mais il pense que br.submit() dormait à cause de HTTPRefreshProcessor.honor_time = True et HTTPRefreshProcessor.max_time ayant une grande valeur. J'ajouté la ligne suivante juste après br = mechanize.Browser():

br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1, honor_time=True) 

pages suivantes me ont aidé, mais pas directement lié à mon problème: Mechanize in Python - Redirect is not working after submit

http://wwwsearch.sourceforge.net/mechanize/hints.html