2024-04-20 00:09:57 发布
网友
我试图从python中的Mechanize获取响应代码。当我能够得到一个200状态码时,其他任何东西都不会返回(404抛出和异常,30x被忽略)。有办法得到原始状态码吗?
谢谢
错误将引发异常,因此请使用try:…except:。。。来对付他们。
Mechanize browser对象有一个方法set_handle_redirect(),可用于打开或关闭30x重定向。关闭它,您将收到一个重定向错误,您处理该错误的方式与处理任何其他错误的方式相同:
>>> 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
在斜纹布中,做get_browser().get_code()
get_browser().get_code()
twill是一个优秀的自动化和测试层,构建在mechanize之上,使其更易于使用。它真的很方便。
错误将引发异常,因此请使用try:…except:。。。来对付他们。
Mechanize browser对象有一个方法set_handle_redirect(),可用于打开或关闭30x重定向。关闭它,您将收到一个重定向错误,您处理该错误的方式与处理任何其他错误的方式相同:
在斜纹布中,做
get_browser().get_code()
twill是一个优秀的自动化和测试层,构建在mechanize之上,使其更易于使用。它真的很方便。
相关问题 更多 >
编程相关推荐