Python 读取Flask Web服务的参数

Python 读取Flask Web服务的参数,python,web-services,flask,Python,Web Services,Flask,我有一个非常基本的Flask应用程序,我向它发送了3个我想要显示的参数。但是,我的问题是,应用程序只获取第一个参数,无法读取其他两个参数的值。这是我的密码: from flask import Flask, jsonify, request app = Flask(__name__) @app.route('/test', methods=['POST']) def listapp(): if request.method == 'POST': runID = r

我有一个非常基本的Flask应用程序,我向它发送了3个我想要显示的参数。但是,我的问题是,应用程序只获取第一个参数,无法读取其他两个参数的值。这是我的密码:

  from flask import Flask, jsonify, request

  app = Flask(__name__)

  @app.route('/test', methods=['POST'])
  def listapp():
  if request.method == 'POST':
    runID = request.args.get('runID')
    tweetID = request.args.get('TweetID')
    tweet = request.args.get('Tweet')

    return "Run id: " + str(runID) + " tweetID:" + str(tweetID) + " tweet content:" + str(tweet)

  if __name__ == '__main__':
    app.run(debug=True)
当我把它称为

 curl -X POST http://127.0.0.1:5000/test?runID=5&TweetID=23&Tweet=6532


如何读取最后两个参数的值?同样奇怪的是,当我打印request.args的长度时,我总是得到1。非常感谢任何帮助

您让它发布,但正在传递GET参数


尝试
curl--data“runID=5&TweetID=23&Tweet=6532”http://127.0.0.1:5000/test
相反。

您遇到的问题不是烧瓶,而是curl命令。当您运行curl命令时,终端将
&
视为命令的结尾。您需要引用url才能通过该链接:

curl -X POST "http://127.0.0.1:5000/test?runID=5&TweetID=23&Tweet=6532"

作为这个问题的后续:现在我还尝试设置webservice的响应:return-response(body,status=200,mimetype='text/plain;charset=utf-8'),当我尝试在CURL中将它调用为CURL-I时,我得到了“不允许的方法”。我又错了吗?你唯一允许的方法就是发帖。如果我读对了,那么您现在正试图执行GET请求。事实上,您是对的。添加了GET,效果非常好!非常感谢!
curl -X POST "http://127.0.0.1:5000/test?runID=5&TweetID=23&Tweet=6532"