我想确认/看看是否有更好的方式向为AWS生成的API端点发出post请求?简单地说,我试图在不使用子进程调用的情况下优化这个curl。使用此代码,我得到一个错误状态代码400。
代码我试图优化
$ curl -X POST -d @test.json -H "x-api-key: {API_KEY}" {URL}
我创建的Python脚本:
import requests
URL = "some_url"
API_KEY = "some_api_key"
headers = {'x-api-key': API_KEY}
r = requests.post(URL, headers=headers, json=test.json)
print(r.status_code)
print(r.json())
错误消息
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
发布于 2019-07-18 15:10:53
需要在post请求之前正确加载JSON。
import requests
import json
URL = "some_url"
API_KEY = "some_api_key"
headers = {'x-api-key': API_KEY}
with open("test.json") as f:
data = json.load(f)
r = requests.post(URL, headers=headers, json=data)
print(r.status_code)
print(r.json())
这提供了状态代码200 &正确的JSON响应。
https://stackoverflow.com/questions/57080057
复制相似问题