Python 如何使用JSON连接到RESTAPI?
我正在尝试使用RESTAPI连接到某个在线服务的CRUD。但在我使用它的API之前,我需要从它那里获得一个令牌。因此,算法是(据我所知):Python 如何使用JSON连接到RESTAPI?,python,json,rest,api,python-requests,Python,Json,Rest,Api,Python Requests,我正在尝试使用RESTAPI连接到某个在线服务的CRUD。但在我使用它的API之前,我需要从它那里获得一个令牌。因此,算法是(据我所知): 表单主体中包含JSON的请求 从web服务获取令牌(我想是JSON格式) 我的问题是,如何用Python实现它 我的代码当前如下所示: import requests import discord url = 'https://some-url-with-auth.com' token = requests.post(url, data = {'emai
import requests
import discord
url = 'https://some-url-with-auth.com'
token = requests.post(url, data = {'email':'some@email.com', \
'api_key':'somepass'}, headers = {'Accept': 'application/json', 'Content-Type': 'application/json'})
print(token.json())
token.status\u code()
为我提供了200
。但我仍然得到这个错误:
Traceback (most recent call last):
File "kodiumbot.py", line 13, in <module>
print(token.json())
File "/usr/local/lib/python3.8/site-packages/requests/models.py", line 898, in json
return complexjson.loads(self.text, **kwargs)
File "/usr/local/lib/python3.8/json/__init__.py", line 357, in loads
return _default_decoder.decode(s)
File "/usr/local/lib/python3.8/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/local/lib/python3.8/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 3 column 1 (char 2)
回溯(最近一次呼叫最后一次):
文件“kodiumbot.py”,第13行,在
打印(token.json())
json格式的文件“/usr/local/lib/python3.8/site packages/requests/models.py”,第898行
返回complexjson.load(self.text,**kwargs)
文件“/usr/local/lib/python3.8/json/_init__.py”,第357行,加载
返回\u默认\u解码器。解码
文件“/usr/local/lib/python3.8/json/decoder.py”,第337行,在decode中
obj,end=self.raw\u decode(s,idx=\u w(s,0.end())
文件“/usr/local/lib/python3.8/json/decoder.py”,第355行,原始解码
从None引发JSONDecodeError(“预期值”,s,err.value)
json.decoder.JSONDecodeError:预期值:第3行第1列(字符2)
尝试使用下面的方法,json()要求以json形式定义令牌。
您使用了单引号,无法对其进行分析
url = "https://some-url-with-auth.com"
token = requests.post(url, data={"email": "some@email.com", "api_key": "some pass"}, headers={"lAccept": "application/json", "Content-Type": "application/json"})
print(token.json())
尝试使用下面的方法,json()要求以json形式定义令牌。
您使用了单引号,无法对其进行分析
url = "https://some-url-with-auth.com"
token = requests.post(url, data={"email": "some@email.com", "api_key": "some pass"}, headers={"lAccept": "application/json", "Content-Type": "application/json"})
print(token.json())