通过curl将变量传递给Flask端点

时间:2019-11-07 09:42:08

标签: python variables curl flask parameters

使用此:

query_string = "This is some string"
subprocess.call('curl -X POST -d "{\\"query\\":\\"${query_string}\\"}" 0.0.0.0:5000/query --header "Content-Type:application/json"', shell=True)

并在我的Flask应用中拥有此端点:

@app.route('/query', methods=['GET', 'POST'])

def new_user():
   user_data = request.get_json()  
   print(user_data)

return jsonify(user_data)

当我运行上面定义的curl命令时,我从Flask服务器获得的响应是​​:

"POST /query HTTP/1.1" 200 - {'query': ''}

如何将参数query_string的实际内容传递给Flask端点?

1 个答案:

答案 0 :(得分:0)

您需要像这样传递它:

subprocess.call('curl -X POST -d "query=%s" 0.0.0.0:5000/query --header "Content-Type:application/json"'% query_string, shell=True)