如果在 response.read 之后出现错误消息

If condition on error message after response.read

response = urllib2.urlopen("http://example.com/Hi")
html = response.read()

有没有可能当上面的代码是运行而Hi目录已经被删除(或者服务器不可用),而不是崩溃,而是像下面这样的动作?

if html==404:
    print("No response")

您可以使用 requests 模块
收到请求后,查看状态码

    import requests
    r = requests.get('http://httpbin.org/status/404')
    print(r.status_code) # the output is the int: 404

如果一切正常ok

if r.ok:
    # cool stuff :)

如果页面 未找到

if r.status_code == 404:
    # so sad :(

阅读更多:
https://realpython.com/python-requests/

Requests -- how to tell if you're getting a 404