<urlopen error [Errno 104] Connection reset by peer>

本文介绍了如何在Python脚本中处理因请求大小过大导致的`ConnectionResetError`,通过捕获并忽略ECONNRESET错误,以及针对链接墙外和VNP问题的解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用python写一个脚本调用接口时,报了这个错,在“urllib.request.urlopen(req, context=context)”这个方法中报错。

错误原因

发送的req size过大,导致服务端拒绝了该请求,重置了连接,并抛出错误。并且,[Errno 104] Connection reset by peer>这个错误也有可能是浏览器的问题,也有可能是URL链接到墙外了。

解决办法

  1. 捕获错误并直接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
  1. 关闭VPN(此方法适用于url链接到墙外的情况)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值