问题描述
我在配置文件中有一个URL,我使用ConfigParser对其进行了解析以获取请求
config.ini
[default]
root_url ='https://reqres.in/api/users?page=2'
FetchFeeds.py
import requests
from configparser import ConfigParser
import os
import requests
config = ConfigParser()
config.read(os.path.join(os.path.dirname(__file__),'../Config','config.ini'))
rootUrl = (config['default']['root_url'])
print(rootUrl)
response = requests.get(rootUrl)
即使URL正确打印'https://reqres.in/api/users?page=2'
,但在请求模块上却出现以下错误
Traceback (most recent call last):
File "C:/Users/sam/PycharmProjects/testProject/GET_Request/FetchFeeds.py",line 11,in <module>
response = requests.get(rootUrl)
File "C:\Users\sam\PycharmProjects\testProject\venv\lib\site-packages\requests\api.py",line 76,in get
return request('get',url,params=params,**kwargs)
File "C:\Users\sam\PycharmProjects\testProject\venv\lib\site-packages\requests\api.py",line 61,in request
return session.request(method=method,url=url,**kwargs)
File "C:\Users\sam\PycharmProjects\testProject\venv\lib\site-packages\requests\sessions.py",line 530,in request
resp = self.send(prep,**send_kwargs)
File "C:\Users\sam\PycharmProjects\testProject\venv\lib\site-packages\requests\sessions.py",line 637,in send
adapter = self.get_adapter(url=request.url)
File "C:\Users\sam\PycharmProjects\testProject\venv\lib\site-packages\requests\sessions.py",line 730,in get_adapter
raise InvalidSchema("No connection adapters were found for {!r}".format(url))
requests.exceptions.InvalidSchema: No connection adapters were found for "'https://reqres.in/api/users?page=2'"
Process finished with exit code 1
请注意,我仔细检查了没有空格
解决方法
主要问题是它试图找到一个不存在的URL,例如'url.com'
(正确的是url.com
),因此解决方案是不要在config.ini文件中放入撇号:
[default]
root_url = https://reqres.in/api/users?page=2
还要考虑是否在参数中而不是在代码中而不是在配置文件中配置参数,而是使用它:
requests.get(config['default']['root_url'],params={'page': 2})