Requests报”requests.exceptions.ConnectionError: Failed to establish a new connection: {error message} “的原因以及解决办法

概述

当使用Python的Requests库发送请求时,若遭遇"requests.exceptions.ConnectionError: Failed to establish a new connection"错误,意味着无法建立新的连接。这个错误往往源于以下几个原因:

  1. 服务器繁忙: 在请求过程中,服务器繁忙或网站停机,导致连接失败;
  2. 请求URL错误: 请求URL可能并不存在,或者拼写有误;
  3. 网络防火墙:公司内的网络防火墙会限制对某些URL的访问,导致连接失败;
  4. DNS解析失败: DNS解析可能会失败,例如DNS名稱解析错误、DNS服务器暂停服务等。

解决方案

下面介绍几种可行的解决方案,以帮助您解决这个连接错误。

等待并重试连接

在出现连接错误提示时,等待一段时间并尝试重新连接,可能会成功连接到服务器。这种方法通常适用于服务器暂时繁忙或者停机的情况。

下面是一个等待一定时间的重试请求的示例代码:

import time

while True:
    try:
        response = requests.get(url)
    except requests.exceptions.ConnectionError as e:
        print("Error: ", e)
        time.sleep(5)
        continue
    break

上述代码将在遇到连接错误时,等待5秒钟并进行5次重试,直到连接成功。

检查网站URL

确保URL正确无误,包括拼写、主机名、文件路径等都不存在错误。

例如URL: "http://www.example.com/index.html",若请求参数错误,例如请求http://example.com/index.html,则会出现请求失败错误

检查网络防火墙

网络防火墙可能禁止访问特定的网站,检查网络防火墙并确认是否限制了对某些网站的访问。

如果企业内部的网络限制了对外部网站的访问,考虑使用VPN或代理服务来获取外部网络连接。

检查DNS解析

当DNS解析失败时,可能会导致连接失败。在这种情况下,为域名配置正确的DNS服务器地址可能有帮助。

在Windows中,可以使用nslookup命令来检查有关DNS是否正在解析域名。

检查目标端口

如果目标端口被禁用,那么就无法建立与目标服务器的连接。如果应用程序尝试了错误的端口,也可能会出现连接错误。

所以确认目标端口是否正确,同时防火墙设置也要相应地进行调整。

总结

在出现"Failed to establish a new connection"错误时,要先确认是否存在服务器繁忙、请求URL错误、网络防火墙、DNS解析失败和目标端口等问题,然后及时采取相应的解决方案。

一般情况下,等待一段时间并尝试重新连接是解决问题的最佳方法。如果仍然存在问题,就需要进一步深入检查网络状况和系统设置,找到解决问题的方法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Requests报”requests.exceptions.ConnectionError: Failed to establish a new connection: {error message} “的原因以及解决办法 - Python技术站

(0)
上一篇 2023年3月19日
下一篇 2023年3月19日

相关文章

合作推广
合作推广
分享本页
返回顶部