请求库发送JSON用于API发布

时间:2018-10-02 15:52:03

标签: python json python-3.x api post

我正尝试从以下位置连接到API:https://devzone.revulytics.com/docs/API/authentication.html#authentication-top

我找到了有关请求库的信息并安装了它,然后找到了this帖子和其他一些文章,最后编译了这段代码:

import requests

apiURL = "http://api.revulytics.com"
header = {'Host': 'api.revulytics.com', 
          'Content-Type': 'application/json',
          'Accept': 'application/json'}
json = {"user": "testuser@test.com",
        "password": "mypassword1"}

r = requests.post(apiURL, headers=header, json=json)
print(r.status_code)

我经常弄乱代码,但似乎仍然无法正常工作-我确实使用自己的用户名和密码进行了更改。

运行status_code时,我一直收到404,这意味着我无法连接到API。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

404表示没有名为/的端点。根据您链接到的页面,端点为/auth/login

所以你想要

apiURL = "https://api.revulytics.com/auth/login"

这将使404消失。

这是我的剧本和回应

$ cat p.py
import requests

apiURL = "https://api.revulytics.com/auth/login"
header = {'Host': 'api.revulytics.com', 
          'Content-Type': 'application/json',
          'Accept': 'application/json'}
json = {"user": "testuser@test.com",
        "password": "mypassword1"}

r = requests.post(apiURL, headers=header, json=json)
print(r.status_code, r.json())

$ python3 p.py
403 {'status': 'AUTH ERROR', 'reason': 'Wrong credentials'}