Requests报”requests.exceptions.URLRequired: Invalid URL ‘{url}’: No schema supplied “的原因以及解决办法

yizhihongxing

问题描述

在使用Python中的Requests包发送请求时,有时会出现如下错误:

requests.exceptions.URLRequired: Invalid URL '{url}': No schema supplied

出现这个错误的原因是什么?如何解决这个问题呢?

解决方案

这个问题的根本原因是URL格式不正确,没有指定URL的schema。比如,当我们使用如下代码发送请求时:

import requests

url = "www.baidu.com"
response = requests.get(url)

就会出现这个错误。

正确的URL格式应该是包含schema的,比如:

url = "http://www.baidu.com"

schema通常是指HTTP或HTTPS。因此,我们可以采用以下方法解决这个问题:

在代码中指定schema

我们可以在代码中显式地指定schema,比如:

import requests

url = "http://www.baidu.com"
response = requests.get(url)

这样就能避免这个问题。

自动添加schema

如果我们知道请求的URL是HTTP或HTTPS协议,我们可以使用如下代码自动添加schema:

import requests

url = "www.baidu.com"

if not url.startswith("http"):
    url = "http://" + url

response = requests.get(url)

这个代码会自动判断URL是否包含schema,如果没有就添加上。

使用绝对路径URL

如果我们使用的是绝对路径URL,就不需要指定schema了。比如,我们可以使用如下代码发送请求:

import requests

url = "/path/to/some/resource"
response = requests.get(url)

这个代码中的URL是绝对路径URL,就不需要指定schema了。

总结

无论是哪种解决方案,我们都需要保证URL格式正确,包含schema。这样,我们才能正常发送请求。

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

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

相关文章

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