我有一个在Linux上运行的简单Python代码(Raspbian)并使用urlopen
连接到服务器(基本上这是使用Python socket
):
req = urllib.request.Request('myServer', data = params, headers = head)
try:
response = urllib.request.urlopen(req, timeout = 20)
except:
timeout=None
将以blocking
模式执行这不是我想要的,因为如果我没有互联网连接,它将永远挂起timeout=0
将以non-blocking
模式运行,但是使用它然后我收到错误115(正在进行中的操作)timeout=20
将以timeout
模式执行,阻止20秒,如果无法创建连接则转义我的问题:
non-blocking
模式总是失败? (这可能是一种误解,但我认为它应该有时工作而不是总是失败)urlopen
将在1-2s执行,20%超时)