gpt4 book ai didi

python - Peer 使用 Python 模块 urllib 重置连接

转载 作者:太空宇宙 更新时间:2023-11-03 18:55:06 24 4
gpt4 key购买 nike

我想做的是使用 Python 通过 Google Custom Search API 下载图像。这是我第一次使用 Python 捕获异常,也许我犯了一些平庸的错误。

即使我遇到一些不是 10054 Connection Reset By Peer 的错误,一切都正常。代码是这样的,我只是去掉了无用的部分:

try: 
urllib.request.urlretrieve(myUrl['link'],str(count)+'.jpg')
except URLError as e:
print(e.reason)

有时会出现连接被对方​​重置并且控制台显示此错误的情况。

urllib.request.urlretrieve(myUrl['link'],str(count)+'.jpg')
File "C:\Python33\lib\urllib\request.py", line 210, in urlretrieve
block = fp.read(bs)
File "C:\Python33\lib\http\client.py", line 503, in read
return super(HTTPResponse, self).read(amt)
File "C:\Python33\lib\http\client.py", line 542, in readinto
n = self.fp.readinto(b)
File "C:\Python33\lib\socket.py", line 297, in readinto
return self._sock.recv_into(b)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
Press any key to continue . . .

现在我对让该 URL 起作用并不真正感兴趣,但我只是希望我的循环继续进行而不是停止。我怎样才能捕捉到这个异常?

编辑:

我还注意到,有时代码会正确捕获错误,并且 print(e.reason) 会正确输出 [WinError 10054] 而无需停止循环。这很奇怪。

最佳答案

如果您不知道确切的问题,您可以像这样捕获所有异常:

try: 
urllib.request.urlretrieve(myUrl['link'],str(count)+'.jpg')
except URLError as e:
print(e.reason)
except KeyboardInterrupt as ki:
raise ki
except:
print("Unknown Error")

关于python - Peer 使用 Python 模块 urllib 重置连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17452307/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com