小编zal*_*alc的帖子

将curl转换为python请求

我正在尝试将curl中的以下工作请求转换为python请求(使用Requests http://docs.python-requests.org/en/v0.10.7/).

curl --data 'query={"tags":["test1","test2"]}' http://www.test.com/match
Run Code Online (Sandbox Code Playgroud)

(请注意,我使用了一个假网址,但该命令可以使用真正的网址)

接收端(在Flask中运行)执行此操作:

@app.route("/match", methods=['POST'])
def tagmatch():
    query = json.loads(request.form['query'])
    tags = query.get('tags')
    ... does stuff ...
    return json.dump(stuff)
Run Code Online (Sandbox Code Playgroud)

在curl(7.30)中,在Mac OS X(10.9)上运行上面的命令正确返回使用标记查询过滤的json列表.

我的python脚本如下,它返回一个400错误的请求.

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
Run Code Online (Sandbox Code Playgroud)

我觉得我错过了一些小的东西,任何帮助都会受到赞赏.

谢谢

python curl python-2.7 python-requests

15
推荐指数
4
解决办法
2万
查看次数

标签 统计

curl ×1

python ×1

python-2.7 ×1

python-requests ×1