#! /usr/bin/python3
# -*- coding:utf-8 -*-
# file: lflask.py
# author: wangchenxi
# mail: wongchenxi@icloud.com
# brief:
# version: 0.1.00
# Create Time:2019-12-23 00:45:20
# Last Update: 2019-12-23 19时46分04秒
from flask import Flask, render_template, request
app = Flask(__name__) # 配置传参后续章节再说明
@app.route(
"/response",
methods=["get", "PoSt"],
endpoint="my_response",
strict_slashes=True)
# 默认Get 请求方式,配置传参后续章节再说明
def my_response():
return render_template("login1.html")
# 项目默认配置的模板目录是templates
'''请求举例
POST /request1?id=567 HTTP/1.1
Host: 127.0.0.1:5000
User-Agent: PostmanRuntime/7.20.1
Accept: */*
Cache-Control: no-cache
Postman-Token: f0bdb262-6801-45fe-83b0-b62136419627,ed868327-6b07-422b-ade8-8f4e3dc7d67a
Host: 127.0.0.1:5000
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
Accept-Encoding: gzip, deflate
Content-Length: 670717
Connection: keep-alive
cache-control: no-cache
Content-Disposition: form-data; name="u"
123
------WebKitFormBoundary7MA4YWxkTrZu0gW--,
Content-Disposition: form-data; name="u"
123
------WebKitFormBoundary7MA4YWxkTrZu0gW--
Content-Disposition: form-data; name="my_file";
filename="/home/wangchenxi/图片/2019-12-20 23-50-36 的屏幕截图.png
------WebKitFormBoundary7MA4YWxkTrZu0gW--
'''
@app.route(
"/request1",
methods=["get", "PoSt"],
endpoint="my_test1",
strict_slashes=True)
# 默认Get 请求方式,配置传参后续章节再说明
def my_response6():
print(request.files)
# file_storage 直接保存文件
file = request.files.get("my_file")
# file file_storage
filename = file.filename
print(filename)
file.save("当前文件名或者文件路径.png")
print(request.args.get("id"))
# 获取 URL 中的请求参数/request1?id=1 字典
print(request.args.to_dict())
# 将获取的数据转化为字典
print(request.form.get("u"))
# FormData中的数据 POST 请求提交 form == args
print(request.form.to_dict())
print(request.json)
print(request.data)
d = {
'request.method': request.method,
'request.url': request.url,
'request.path': request.path,
'request.host': request.host,
'request.host_url': request.host_url
}
return d
'''以下是响应结果
{
"request.host": "127.0.0.1:5000",
"request.host_url": "http://127.0.0.1:5000/",
"request.method": "POST",
"request.path": "/request1",
"request.url": "http://127.0.0.1:5000/request1?id=567"
}
'''
'''请求举例
GET /request2?id=567 HTTP/1.1
Host: 127.0.0.1:5000
Content-Type: application/json
User-Agent: PostmanRuntime/7.20.1
Accept: */*
Cache-Control: no-cache
Postman-Token: 85b71e5a-d77b-48b8-bf00-2e4c3522b4d2,659e2126-57fa-459d-9d79-8d81420608da
Host: 127.0.0.1:5000
Accept-Encoding: gzip, deflate
Content-Length: 30
Connection: keep-alive
cache-control: no-cache
{"test_json":"test_string"}
'''
@app.route("/request2", methods=["get", "PoSt"],
endpoint="my_test2", strict_slashes=True) # 默认Get 请求方式,配置传参后续章节再说明
def my_response7():
print(request.args.get("id")) # 获取 URL 中的请求参数 /login?id=1 字典
print(request.args.to_dict()) # 将获取的数据转化为字典
print(request.json)
print(request.data)
d = {
'request.method': request.method,
'request.url': request.url,
'request.path': request.path,
'request.host': request.host,
'request.host_url': request.host_url
}
return d # == jsonify(d)
'''以下是响应结果
{
"request.host": "127.0.0.1:5000",
"request.host_url": "http://127.0.0.1:5000/",
"request.method": "GET",
"request.path": "/request2",
"request.url": "http://127.0.0.1:5000/request2?id=567"
}
'''
if __name__ == '__main__':
app.run('0.0.0.0', 5000)
版权声明:除特别注明外,本站所有文章均为王晨曦个人站点原创
转载请注明:出处来自王晨曦个人站点 » flask之请求request相关探究