读取 Flask Web 服务的参数
Read arguments of a Flask Web service
我有一个非常非常基本的 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
是
Run id: 5 tweetID:None tweet content:None
如何读取最后两个参数的值?同样奇怪的是,当我打印 request.args 的长度时,我一直得到 1。非常感谢任何帮助!
您告诉它 POST,但正在传递 GET 参数。
试试 curl --data "runID=5&TweetID=23&Tweet=6532" http://127.0.0.1:5000/test
。
您遇到的问题与 Flask 无关,而是与您的 curl 命令有关。当您 运行 您的 curl 命令时,终端将 &
视为命令的结尾。您需要引用 url 才能通过:
curl -X POST "http://127.0.0.1:5000/test?runID=5&TweetID=23&Tweet=6532"
我有一个非常非常基本的 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
是
Run id: 5 tweetID:None tweet content:None
如何读取最后两个参数的值?同样奇怪的是,当我打印 request.args 的长度时,我一直得到 1。非常感谢任何帮助!
您告诉它 POST,但正在传递 GET 参数。
试试 curl --data "runID=5&TweetID=23&Tweet=6532" http://127.0.0.1:5000/test
。
您遇到的问题与 Flask 无关,而是与您的 curl 命令有关。当您 运行 您的 curl 命令时,终端将 &
视为命令的结尾。您需要引用 url 才能通过:
curl -X POST "http://127.0.0.1:5000/test?runID=5&TweetID=23&Tweet=6532"