2010-04-20 13 views

Respuesta

13

errores lanzará una excepción, por lo que sólo tiene que utilizar tratar: ... excepto: ... para manejarlos.

Su objeto de navegador Mechanize tiene un método set_handle_redirect() que puede usar para activar o desactivar la redirección 30x. Apagarlo y se obtiene un error de redirecciones que usted maneja al igual que lo maneja cualquier otro error:

>>> from mechanize import Browser 
>>> browser = Browser() 
>>> resp = browser.open('http://www.oxfam.com') # this generates a redirect 
>>> resp.geturl() 
'http://www.oxfam.org/' 
>>> browser.set_handle_redirect(False) 
>>> resp = browser.open('http://www.oxfam.com') 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "build\bdist.win32\egg\mechanize\_mechanize.py", line 209, in open 
    File "build\bdist.win32\egg\mechanize\_mechanize.py", line 261, in _mech_open 
mechanize._response.httperror_seek_wrapper: HTTP Error 301: Moved Permanently 
>>> 
>>> from urllib2 import HTTPError 
>>> try: 
... resp = browser.open('http://www.oxfam.com') 
... except HTTPError, e: 
... print "Got error code", e.code 
... 
Got error code 301 
0

En sarga, hacer get_browser().get_code()

twill es una automatización y prueba de capa excepcional construido encima de mecanizar , para que sea más fácil de usar. Es muy útil.

Cuestiones relacionadas