在Python "requests"模块中,如何检查服务器是否宕机或返回500?

5 投票
1 回答
13673 浏览
提问于 2025-04-30 22:45
r = requests.get('http://example.com')
print str(r.status_code)

我想检查我的服务器是否宕机或者出现了内部500错误。

我该如何使用请求来同时检查这两种情况呢?

暂无标签

1 个回答

17

Requests库会根据请求失败的原因抛出不同类型的错误。

import requests.exceptions

try:
    r = requests.get('http://example.com')
    r.raise_for_status()  # Raises a HTTPError if the status is 4xx, 5xxx
except (requests.exceptions.ConnectionError, requests.exceptions.Timeout):
    print "Down"
except requests.exceptions.HTTPError:
    print "4xx, 5xx"
else:
    print "All good!"  # Proceed to do stuff with `r` 

撰写回答