Requests报”requests.exceptions.InvalidSchema: No connection adapters were found for {url} “的原因以及解决办法

  • Post category:Python

报错信息”requests.exceptions.InvalidSchema: No connection adapters were found for {url}”通常出现在使用Requests库发送请求时,URL链接格式错误或者无法使用相应的协议(例如HTTPS)进行访问时。

具体原因可能包括以下几种情况:

  1. URL链接格式错误:请求的URL链接格式必须满足一定的规范,例如必须包含协议(http或https),并且不能包含空格等特殊字符。如果URL格式不正确,就会导致无法进行连接。

  2. 协议不正确:如果请求的URL链接包含HTTPS等协议,但是没有安装相应的证书或者没有相应的验证规则,就会导致连接失败。

  3. Requests库版本过低:低版本的Requests库可能不支持某些新的协议或者特定的配置,导致连接失败。

  4. 网络连接问题:如果网络连接不稳定或者存在防火墙等限制,就可能导致连接失败。

针对以上问题,可采取如下解决办法:

  1. 检查URL链接格式是否正确,并确保包含协议,例如”http://www.example.com”。

  2. 如果需要使用HTTPS等协议,需要安装相应的证书或者验证规则。可以使用相应的第三方库,例如pyopenssl等。

  3. 升级Requests库到最新版本,以支持更多的协议和特定配置。

  4. 检查网络连接是否正常并且不存在防火墙等限制。

示例代码:

import requests

url = "ftp://ftp.example.com"
response = requests.get(url)
print(response)

该示例代码中使用Requests库访问一个FTP链接,由于FTP协议不是HTTP或HTTPS协议,因此会出现”requests.exceptions.InvalidSchema: No connection adapters were found for FTP链接”的错误提示。如果需要访问FTP链接,则需要使用相应的第三方库,例如ftplib等。