python安装requests库报错10054, ‘远程主机强迫关闭了一个现有的连接问题解决

本文介绍了在Windows环境下使用pip安装requests库时遇到的'远程主机强迫关闭了一个现有的连接'错误的解决过程。通过以管理员权限重新打开命令窗口并尝试升级pip,最终成功安装了requests库。
摘要由CSDN通过智能技术生成

一.问题描述

在Windows命令窗口,输入pip install requests报出上述错误

二.问题解决

1.以管理员的身份重新打开窗口,再次尝试输入命令
发现成功

C:\WINDOWS\system32>pip install requests
Collecting requests
  Downloading requests-2.25.1-py2.py3-none-any.whl (61 kB)
     |████████████████████████████████| 61 kB 49 kB/s
Collecting chardet<5,>=3.0.2
  Downloading chardet-4.0.0-py2.py3-none-any.whl (178 kB)
     |████████████████████████████████| 178 kB 3.3 kB/s
Collecting certifi>=2017.4.17
  Downloading certifi-2021.5.30-py2.py3-none-any.whl (145 kB)
     |████████████████████████████████| 145 kB 18 kB/s
Collecting urllib3<1.27,>=1.21.1
  Downloading urllib3-1.26.6-py2.py3-none-any.whl (138 kB)
     |████████████████████████████████| 138 kB 19 kB/s
Collecting idna<3,>=2.5
  Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
     |████████████████████████████████| 58 kB 23 kB/s
Installing collected packages: char
遇到`[WinError 10054] 远程主机强迫关闭一个现有连接`错误,通常表示网络连接在传输过程中被远程服务器中断。这可能由多种原因引起: 1. **服务器限流**:频繁或密集的请求可能导致服务器暂时限制你的IP地址,以防止滥用或DDoS攻击。解决方案是实施延迟(如你所提及的`time.sleep(2)`),让程序在每次请求之间稍作休息。 ```python import time # 假设这是你的爬虫代码 for item in data_to_crawl: try: response = requests.get(item) except requests.exceptions.ConnectionError as ce: if isinstance(ce, (requests.exceptions.ConnectTimeout, requests.exceptions.ReadTimeout)): print(f"Timeout occurred, retrying after 2 seconds: {ce}") time.sleep(2) continue elif isinstance(ce, ConnectionResetError): print(f"Connection reset error: {ce}") time.sleep(2) continue else: raise ce ``` 2. **网络不稳定**:如果网络环境不稳定,也可能触发此错误。在这种情况下,可以考虑设置重试机制或使用更稳定的网络连接。 3. **代理或防火墙问题**:有时代理服务器或公司防火墙会阻止连接。检查并确保使用的代理有效,或者联系IT部门确认是否有此类限制。 4. **编码/字符集问题**:如果URL或响应的数据不是UTF-8编码,也可能会引发这类错误。确保正确处理字符编码。 总之,解决这个问题的关键在于增加适当的延迟、检查网络状况以及处理可能的异常情况。在实际操作中,可能需要结合具体情况进行调整。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值