我正在尝试将 curl 中的以下工作请求转换为 python 请求(使用 Requests )。
curl --data 'query={"tags":["test1","test2"]}' http://www.test.com/match
(我使用了一个假网址,但该命令确实适用于真实网址)
接收端(在 Flask 中运行)这样做:
@app.route("/match", methods=['POST'])
def tagmatch():
query = json.loads(request.form['query'])
tags = query.get('tags')
# ... does stuff ...
return json.dump(stuff)
在 curl (7.30) 中,在 Mac OS X (10.9) 上运行,上面的命令正确返回使用标签查询过滤的 JSON 列表。
我的 Python 脚本如下,它返回 400 Bad Request 错误。
import requests
payload = {"tags":["test1", "test2"]}
# also tried payload = 'query={"tags":["test1","test2"]}'
url = 'http://www.test.com/match'
r = requests.post(url, data=payload)
if __name__=='__main__':
print(r.text)
原文由 zalc 发布,翻译遵循 CC BY-SA 4.0 许可协议
您的服务器需要 JSON,但您没有发送它。尝试这个: