Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用JSON连接到RESTAPI?_Python_Json_Rest_Api_Python Requests - Fatal编程技术网

Python 如何使用JSON连接到RESTAPI?

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

我正在尝试使用RESTAPI连接到某个在线服务的CRUD。但在我使用它的API之前,我需要从它那里获得一个令牌。因此,算法是(据我所知):

  • 表单主体中包含JSON的请求
  • 从web服务获取令牌(我想是JSON格式)
  • 我的问题是,如何用Python实现它

    我的代码当前如下所示:

    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())