尝试使用以下代码实现Flask API:
import tweepy,flask,os,flask_api,re,json,logging
app = flask.Flask(__name__,template_folder='')
@app.route('/',methods=['POST'])
def answer():
app.logger.info('server responding')
for key,value in flask.request.args.items():
app.logger.info(key+':'+value)
return 'Server on line'
@app.route('/',methods=['GET'])
def home():
return flask.render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)#use_reloader=False
logging.basicConfig(filename='error.log',level=logging.DEBUG)
app.logger.info('Successfull info message')
app.logger.error('Successfull error message')
当我尝试用窗户卷曲它时,
curl -X POST -d query=cheese http://127.0.0.1:5000/
(长格式)
curl --header "Content-Type: application/json" --request POST --data '{"query":"cheese"}' http://127.0.0.1:5000/
我明白了
INFO in logtest: server responding
但不会返回单个键/值对
答案 0 :(得分:3)
flask.request.args
是URL query parameters。
curl --data
是body。
您正在发送请求正文,但希望它们显示在URL参数中。这显然是行不通的。
您需要访问request.data。有一种方便的方法get_json(),可让Flask为您将主体解析为字典。