【问题标题】:How to connect to REST API using JSON?如何使用 JSON 连接到 REST API?
【发布时间】:2020-06-19 20:31:12
【问题描述】:

我正在尝试使用 REST API 在线连接到某些服务的 CRUD。但在我可以使用它的 API 之前,我需要从中获取一个令牌。所以,算法是(据我了解):

  1. 形成正文中带有 JSON 的请求
  2. 获取来自网络服务的 token(我猜是 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_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)

【问题讨论】:

    标签: python json rest api python-requests


    【解决方案1】:

    尝试在下面使用这个,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())
    

    【讨论】:

      猜你喜欢
      • 2020-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-24
      • 2019-06-10
      • 1970-01-01
      • 2016-05-31
      相关资源
      最近更新 更多