没有主机的路由,也可以在主机启动并准备就绪的情况下

时间:2019-05-17 20:57:05

标签: python python-requests urllib

我有一个启动线程的python程序。

此线程,每秒向同一网络上的服务器发出一个休息请求。

有时此服务器已关闭。 如果其余请求失败,则线程结束,主程序启动新线程。

每个休息请求都通过以下代码段完成:

import requests
def getxml(link):
    r = requests.get(link, allow_redirects=True)
    if (r.status_code == 200):
        xml = r.text
    else:                
        xml = ""    
    return xml
xml = getxml('192.168.1.201:5000/OKUMA.Lathe/probe')

有时此代码会生成异常:

Exception: HTTPConnectionPool(host='192.168.1.201', port=5000): 
Max retries exceeded with url: /OKUMA.Lathe/probe 
(Caused by NewConnectionError('<urllib3.connection.HTTPConnection object
at 0x75d241b0>: Failed to establish a new connection: [Errno 113] 
No route to host'))

当服务器关闭时,这可能是正常的。但是,当服务器打开时,也会发生这种情况。 奇怪的是:

  • 如果我对服务器执行ping操作,我将收到Pong。

  • 如果将浏览器连接到链接,则会获取数据。

  • 如果我重新启动python程序,一切正常。

  • 我也尝试了urllib,但是遇到了同样的错误。

为什么我没有通往主机的路由错误?

0 个答案:

没有答案