使用python写一个脚本调用接口时,报了这个错,在“urllib.request.urlopen(req, context=context)”这个方法中报错。
错误原因
发送的req size过大,导致服务端拒绝了该请求,重置了连接,并抛出错误。并且,[Errno 104] Connection reset by peer>这个错误也有可能是浏览器的问题,也有可能是URL链接到墙外了。
解决办法
- 捕获错误并直接pass掉。为了让后面的请求继续执行,可以先搁置这个错误,使用try catch捕获它,这是一个socket error,所以可以通过from socket import error as SocketError来捕获。具体语句如下:
from urllib import error as UrllibError
import errno
try :
#发生异常的语句
except UrllibError as e:
if e.errno != errno.ECONNRESET:
raise
pass
- 关闭VPN(此方法适用于url链接到墙外的情况)