如何通过urllib获取标题的代码?如果URL是没有HTTP URL在Python中,如何使用urllib来查看网站是404还是200?
回答
的引用代码()方法(由在python2.6的)返回与该响应发送的HTTP状态代码或无。
>>> a=urllib.urlopen('http://www.google.com/asdfsf')
>>> a.getcode()
404
>>> a=urllib.urlopen('http://www.google.com/')
>>> a.getcode()
200
您可以使用urllib2还有:
import urllib2
req = urllib2.Request('http://www.python.org/fish.html')
try:
resp = urllib2.urlopen(req)
except urllib2.HTTPError as e:
if e.code == 404:
# do something...
else:
# ...
except urllib2.URLError as e:
# Not an HTTP-specific error (e.g. connection refused)
# ...
else:
# 200
body = resp.read()
注意HTTPError
是存储HTTP状态代码的URLError
一个子类。
第二个“else”是一个错误吗? – 2013-08-25 19:27:11
Nope:http://stackoverflow.com/questions/855759/python-try-else – 2013-08-26 16:50:11
import urllib2
try:
fileHandle = urllib2.urlopen('http://www.python.org/fish.html')
data = fileHandle.read()
fileHandle.close()
except urllib2.URLError, e:
print 'you got an error with the code', e
TIMEX感兴趣的是抓取http请求代码(200,404,500等),而不是urllib2引发的一般性错误。 – 2012-07-09 15:34:52
对于Python 3:
import urllib.request, urllib.error
url = 'http://www.google.com/asdfsf'
try:
conn = urllib.request.urlopen(url)
except urllib.error.HTTPError as e:
# Return code error (e.g. 404, 501, ...)
# ...
print('HTTPError: {}'.format(e.code))
except urllib.error.URLError as e:
# Not an HTTP-specific error (e.g. connection refused)
# ...
print('URLError: {}'.format(e.reason))
else:
# 200
# ...
print('good')
对于[URLError](https://docs.python.org/3.5/library/urllib.error.html)'print(e.reason)'可以使用。 – Liliane 2017-08-04 20:23:27
- 1. 如何通过代理在Python中使用urllib打开网站?
- 2. 如何使用python3.2 urllib登录网站?
- 3. python urllib,如何看邮件?
- 4. 查看网站用户是否来自同一个网络(Intranet网站)
- 5. 如何使用AppCMD使用网站的名称测试并查看IIS7中是否存在网站?
- 6. 如何在python 3中使用urllib? 4
- 7. 如何使用Python检查Pandas值是零还是零
- 8. 网站返回302而不是200
- 9. 这个Json结果应该返回一个404还是200?
- 10. 我应该发送状态为404还是200?
- 11. 如何检查mootools.js是否实际在网站中使用?
- 12. 如何用python/urllib状态码仍然处理重定向200?
- 13. Python如何检查用户是否在组中查看页面
- 14. SharePoint用户可以查看网站集,他是不是
- 15. 如何在系统中查看堆栈增长还是减少?
- 16. 如何知道Android看起来是向上还是向下?
- 17. 如何在部署后查看网站
- 18. 是否可以使用git查看网站克隆的分支?
- 19. 你如何使用SQL来查看表是否存在?
- 20. 如何在ASP.NET MVC中查看站点是在本地主机上还是在127.0.0.1上运行
- 21. 使用FastCGI查看Python网站中写入stderr的内容
- 22. 检查一个网站是HTTP还是HTTPS
- 23. 更好地检查网站的性能是“ab”还是“httperf”?
- 24. 如何查看网站是否停机? - Ruby
- 25. 使用Python/urllib通过“siteminder”身份验证访问网站?
- 26. 我的代码是在Web角色还是网站中运行?
- 27. 如何知道使用PHP生成的图像是从我的网站还是其他网站请求的?
- 28. 如何查看Drupal站点上是否使用了块?
- 29. 如何查看“显示通知”已启用还是禁用?
- 30. 如何在Android中开发时查看屏幕是开启还是关闭?
注意,引用代码()在Python 2.6中的溶液。 – Mark 2009-11-13 00:52:47
@Mark,好点 – 2009-11-13 00:54:37
在2.6以前的版本中,a.code可以工作。 – user183037 2013-05-07 23:43:02