Comment obtenir une page HTTP à l'aide mécaniser cookies?
Question
Il y a un objet mécaniser Python avec une forme avec presque toutes les valeurs fixées, mais pas encore soumis. Maintenant, je veux aller chercher une autre page en utilisant les cookies de mécaniser par exemple, mais sans remettre à zéro la page, les formes et ainsi de suite, par exemple de sorte que les valeurs sont mémorisées (j'ai juste besoin d'obtenir la chaîne de corps d'une autre page, rien d'autre). Alors, est-il possible de:
- Dites-mécaniser pas réinitialiser la page (peut-être, par le biais
UserAgentBase
)? - le pot à biscuits de
urllib2
utilisation mécaniser? NB:urllib2.HTTPCookieProcessor(self.br._ua_handlers["_cookies"].cookiejar)
ne fonctionne pas - Toute autre façon de passer cookie
urllib
?
La solution
Et la bonne réponse:
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.br._ua_handlers["_cookies"].cookiejar))
opener.open(imgurl)
Autres conseils
Aucune idée si cela fonctionnera, mais pourquoi ne pas essayer deepcopying l'instance de mécaniser, par exemple
from copy import deepcopy
br = Browser()
br.open("http://www.example.com/")
# Make a copy for doing other stuff with
br2 = deepcopy(br)
# Do stuff with br2
# Now do stuff with br
Quelques idées sauvages:
- Fetch la deuxième page avant de remplir le formulaire?
- Ou chercher la nouvelle page puis goBack ()? Bien que peut-être cela réinitialiser les valeurs.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow