python socket.error: [Errno 10054] 远程主机强迫关闭了一个现有的连接。问题解决方案:
前几天使用python读取网页。因为对一个网站大量的使用urlopen操作,所以会被那个网站认定为攻击行为。有时就不再允许下载。导致urlopen()后,request.read()一直卡死在那里。最后会抛出errno 10054.
这个错误是connection reset by peer.也就是传说的远端主机重置了此连接。原因可能是socket超时时间过长;也可能是request = urllib.request.urlopen(url)之后,没有进行request.close()操作;也可能是没有sleep几秒,导致网站认定这种行为是攻击。
具体解决方案如下面的代码:
[python]
view plain
copy
- import socket
- import time
- timeout = 20
- socket.setdefaulttimeout(timeout)#这里对整个socket层设置超时时间。后续文件中如果再使用到socket,不必再设置
- sleep_download_time = 10
- time.sleep(sleep_download_time) #这里时间自己设定
关注打赏
热门博文
- 记录一举一动:PowerShell几行代码实现定期屏幕截屏
- 如何读取照片的GPS信息?—最好的语言Java实现起来就这么简单【手把手教程+完整代码】
- Linux操作系统资源 大合集【鸿蒙OS Suse 红帽 BSD CentOS Arch Ubuntu】 | 寻找C站宝藏
- Windows操作系统+朝鲜红星+国产麒麟+红旗+渗透专用系统+Oracle专用+技术专栏【资源大合集】 | 寻找C站宝藏
- 你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
- 前女友婚礼,python破解婚礼现场的WIFI,把名称改成了
- 前女友发来加密的 “520快乐.pdf“,我用python破解开之后,却发现。。。
- 查岗神器!如何查看连接过的WiFi记录+详细信息+密码找回
- 【渗透测试】密码暴力破解工具——九头蛇(hydra)使用详解及实战
- 【删库不跑路】—Linux系统自杀实验 rm -rf /* 及如何抢救和预防
立即登录/注册


微信扫码登录