python - 请求库为 API Post 发送 json
问题描述
我正在尝试从以下位置连接到 API:https ://devzone.revulytics.com/docs/API/authentication.html#authentication-top
我发现了 Requests 库并安装了它,然后找到了这篇文章和其他一些文章,最后编译了这段代码:
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。对此有什么想法吗?
解决方案
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'}
推荐阅读
- xamarin.forms - Azure Active Directory 中的应用注册问题,应用不在租户中?
- javascript - 如何用 json 中的数据填充 href 标记,并在单击时使用表单中的选定值进行发布
- android - 如何在onDraw的画布上全局更改位图
- bash - 将以数字开头的文件重命名为两位数
- coq - 为什么 Coq.Init.Logic 定义符号“A -> B”?
- python - 错误 (-209) The operation is both 'array op array' --- 如何解决这个问题?
- python - 将每个 API 调用记录到单独的文件中
- python - 决策树分类器拟合函数抛出错误“ValueError:无法将字符串转换为浮点数:'E-50'”
- javascript - 如何将 Firestore 日期/时间戳转换为 JS Date()?
- fasm - 使用 Fasm 将应用程序安装到 Windows 注册表中