flask 是一门使用 python 编写的后端框架。
VUE前端UI装饰推荐学习Element组件库
 之后就不使用UI去测试flask了,环节太多,影响直观反映,直接使用postman或request测试更加直观.
url携带参数
 @app.route('/my/blog/<blog_id>')
 def blog_detail(blog_id):  # put application's code here
     return '您访问的博客是{}'.format(blog_id)```
 
flask里的requests方法
 要获取来自前端的参数,可以使用request.args.get方法。
 有时候我们需要在前端没有传递该参数时,设置一个默认值。这个时候可以使用request.args.get的第二个参数。下面是设置默认值的代码
 from flask import Flask,request
 @app.route('/book/list')
 def book_detail():  # put application's code here
     page = request.args.get('page', default=1, type=int)
     return '你获取的是{}'.format(page)
 
在前端有时候我们需要传递多个参数,例如下面的代码:
这里username和password都是需要获取的参数。我们可以分别使用request.args.get方法获取各个参数:
username = request.args.get('username')
password = request.args.get('password')
 
 
keywords = request.args.getlist('keywords')
page = request.args.get('page')
 
可以将获取的值转换成int
page = int(request.args.get('page', default=1))
 
 
获取boole值
is_valid = request.args.get('is_valid', default='false') == 'true'
 
request.form.get("key", type=str, default=None) 
//获取表单数据
request.args.get("key") 
//获取get请求参数
request.values.get("key") 
//获取所有参数
 
我们用代码的方式去展示
C/S模式
Client
Server
@app.route('/')
def hello_world():
    return 'Hello World!'
 
Client
requests.request(url)	构造一个请求,支持以下各种方法
requests.get()	发送一个Get请求
requests.post()	发送一个Post请求
requests.head()	获取HTML的头部信息
requests.put()	发送Put请求
requests.patch()	提交局部修改的请求
requests.delete()	提交删除请求
 
import requests
ip = "192.168.0.100"
port = "5000"
url = 'http://' + ip + ':' + port
print(url)
r = requests.get(url)
print('code')
print(r.status_code)
print(type(r.status_code))
print('header')
print(r.headers)
print(type(r.headers))
print('content')
print(r.headers)
print(type(r.headers))
print('text')
print(r.text)
print(type(r.text))
 
 
Client
Head = r.headers
print(type(Head))
print(type(r.headers))
if 'Content-Type' in Head:
    print("B")
    B = Head.get('Content-Type')
    print(B)
    print(type(B))
 
 
url = url + '/user/login'
print(url)
auth = {
    "userName" : "admin",
    "password" : "123456"
}
r = requests.post(url,json=auth)
print(r.status_code)
print(r.content)
print( r.json() )
print( type(r.json() ) )
print(r.json().get('data').get('token') )
 
 
urlB = url + '/user/info'
print(urlB)
headers = {
  'token': '666666',
  'Content-Type': 'application/json'
}
response = requests.request("POST", urlB, headers=headers)
print(response.text)
print(response.json().get('data').get('realName').encode('utf-8').decode('gbk'))
 
 
server
@app.route('/book/list', methods=["GET", "POST"])
def book_detail():
    page = request.args.get('page',default=1,type=int)
    return 'you get is {}'.format(page)
 
client
urlC = url + '/book/list' + "?page=z"
print(urlC)
r = requests.request("GET",urlC)
print(r.status_code)
print(r.text)
 
传输的不是规定的类型,就会按照default赋值










