Flask模块
1.首先一个基本的demo:
from flask import Flask
app = Flask(__name__)
@app.route('/hello')
def hello_world():
    return ('hello, world!\n')
if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5147)
host=0.0.0.0表示可以接收任意的连接,port=5147表示监听的是5147端口
2.也可以通过flask获取参数:
- 
    当使用 GET时:curl -X GET "http://localhost:8000/check_your_status?username=admin&password=123456"可以使用 request.args.get()获取指定的参数的值:from flask import request @app.route('/get_args_GET', methods=['GET']) def get_args_GET(): username = request.args.get('username') password = request.args.get('password') return ('OK\n')当使用 request.args.items()可以直接获取所有的参数,类型为list,如: [(‘username’, u’admin’), (‘password’, u’123456’)]
- 
    当使用 POST时(此时的参数是在Header中):curl -d "user=Summer&passwd=12345678" "http://127.0.0.1:8080/check_your_status"可以使用flask的 request.form()方法获取Header中的参数:from flask import request @app.route('/hello', methods=['POST']) def hello_world(): user = request.form('user') passwd = request.form('passwd') return ('username: %s\npassword: %s\n' % (user, passwd))
- 
    当使用 POST时(此时的参数是在Body中):curl -X POST -H "Content-Type:application/json" --data '{"message": "sunshine"}' http://localhost:8000/check_your_status可以使用flask的 request.get_data()或request.get_json()获取,最好使用get_data():from flask import request @app.route('/get_data', methods=['POST']) def get_data(): data = request.get_data() ... return ('OK\n')
3.使用jsonify()函数将消息序列化为json,并且自动将Content-Type修改为json发送给客户端:
from flask import jsonify
@app.route('/test_jsonify')
def test_jsonify():
    a = {'name': 'ysj', 'sex': 'man'}
    return jsonify(a)
4.一般使用request.get_data()获得的数据,由于是str类型的,所以需要解析成json格式,方便处理:
from flask import jsonify
import json
@app.route('/get_data', methods=['POST'])
def get_data():
    data = request.get_data()
    data = json.loads(data)
    # 对数据进行处理
    return jsonify(data)
