Requests报”requests.exceptions.MissingSchema: Invalid URL {url}: No schema supplied. Perhaps you meant http://{url}? “的原因以及解决办法

yizhihongxing

原因

这个错误是因为在Requests中传递的URL格式不正确而引起的。URL必须以http://或https://开头,如果URL没有HTTP协议头,Requests就无法判断它是http还是https,因此导致了这个错误。

解决办法

在指定URL时,需要确保URL字符串以"http://"或"https://"开头。如果没有协议头,请加上协议头并重新运行请求。另外,还可以通过以下方法来解决这个问题

1)检查URL是否正确:检查传递给requests.get()方法的URL字符串是否正确。如果URL是通过变量传递的,可以打印出该变量并检查是否存在问题。

2)使用异常处理程序:可以使用异常处理程序来处理这种情况,例如:

try:
    response = requests.get('http://invalid_url')
except requests.exceptions.MissingSchema as e:
    print(str(e))
    url = 'http://' + 'invalid_url'
    response = requests.get(url)

在这个例子中,我们捕获了MissingSchema异常,并将URL字符串重新格式化为正确的URL格式,然后再次发送了请求。

3)检查代理设置:如果使用代理,可能需要检查代理设置是否正确。可以使用proxies参数来设置代理,例如:

proxies = {
    "http": "http://user:password@proxy:port",
    "https": "https://user:password@proxy:port",
}
response = requests.get("https://www.google.com", proxies=proxies)

在这个例子中,我们设置了HTTP和HTTPS代理,并将它们传递给proxies参数。

总之,错误"requests.exceptions.MissingSchema: Invalid URL {url}: No schema supplied. Perhaps you meant http://{url}?"通常是因为URL格式不正确而引起的,可以通过上述方法来解决这个问题。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Requests报”requests.exceptions.MissingSchema: Invalid URL {url}: No schema supplied. Perhaps you meant http://{url}? “的原因以及解决办法 - Python技术站

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

相关文章

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