我的Python代码有什么问题,如何修复?
这是我的密码我的Python代码有什么问题,如何修复?,python,python-requests,ping,Python,Python Requests,Ping,这是我的密码 import requests ping = requests.get('http://example.com') ping.status_code if ping.status_code==200: print ("Online") else: print ("Offline") 它发出pingshttp://example.com。当网站在线时,它会成功地在线打印。当网站离线时,我希望它打印离线,但它却向我显示了一条以这行结尾的巨大错误消息 Max retr
import requests
ping = requests.get('http://example.com')
ping.status_code
if ping.status_code==200:
print ("Online")
else:
print ("Offline")
它发出pingshttp://example.com
。当网站在线时,它会成功地在线打印
。当网站离线时,我希望它打印离线
,但它却向我显示了一条以这行结尾的巨大错误消息
Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fd3f17372e8>: Failed to establish a new connection: [Errno -2] Name or service not known',))
url:/(由NewConnectionError(“:无法建立新连接:[Errno-2]名称或服务未知,”)导致的重试次数超过了最大值
如果网站处于脱机状态,如何将其修复为成功脱机打印?请求本身出现错误
ping = requests.get('http://example.com')
所以,若服务器并没有响应你们,你们就不会得到状态码。
若您想检查主机是否停机,那个么使用异常处理是值得的,这样当请求失败时,您的脚本不会因为错误而停机。下面的代码应该可以工作
import requests
try:
ping = requests.get('http://example.com')
print ("Online")
except:
print ("Offline")
您可以通过如下方式修改代码来完成此操作: 添加
尝试
和除了
机制
import requests
try:
ping = requests.get('http://example.com')
ping.status_code
if ping.status_code==200:
print ("Online")
else:
print ("Offline")
except requests.exceptions.ConnectionError as e:
print("Offline")
我认为您需要使用try-catch,如果您捕获到异常,您知道它是脱机的,否则它是联机的。您可能希望将对
try/catch
函数的调用包装在try-except
块中以处理此情况。欢迎随时使用。值得一提的是,对于这个特殊的脚本,如果网站响应任何错误(如500404等),脚本仍然会响应“在线”。因此,您可能仍然应该包括您的状态代码检查。