Python urllib2 URLError HTTP status code.

匿名 (未验证) 提交于 2019-12-03 02:49:01

问题:

I want to grab the HTTP status code once it raises a URLError exception:

I tried this but didn't help:

except URLError, e:     logger.warning( 'It seems like the server is down. Code:' + str(e.code) )

回答1:

You shouldn't check for a status code after catching URLError, since that exception can be raised in situations where there's no HTTP status code available, for example when you're getting connection refused errors.

Use HTTPError to check for HTTP specific errors, and then use URLError to check for other problems:

try:     urllib2.urlopen(url) except urllib2.HTTPError, e:     print e.code except urllib2.URLError, e:     print e.args

Of course, you'll probably want to do something more clever than just printing the error codes, but you get the idea.



回答2:

Not sure why you are getting this error. If you are using urllib2 this should help:

import urllib2 from urllib2 import URLError  try:     urllib2.urlopen(url) except URLError, e:     print e.code


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!