Python武器库开发-flask篇之Get与Post(二十五)

flask篇之Get与Post(二十五)

在Flask中通过request对象请求相关的数据,在正常的网页请求的过程中,有两种请求的方式,Get和Post

Get请求

我们现在来看看在Flask中是如何以Get方式得到我们想要的值的,通过request.args可以获取Get请求中的所有参数,以字典的形式返回。例如:

#!/usr/bin/env python3

from flask import Flask
from flask import request
from flask import render_template

# 用当前脚本名称实例化Flask对象,方便flask从该脚本文件中获取需要的内容
app = Flask(__name__)

@app.route('/')
def index():
    return 'Hello World!'


#常规输入url的访问就是get方法
@app.route('/user/')
def user_password(password):
	#获取浏览器的User-Agent头
    print('User-Agent',request.headers.get('User-Agent'))
    #以Get请求的方式获取数据,传入的参数是time
    print('time:',request.args.get('time'))
    #以Get请求的方式获取数据,传入的参数是q
    print('q',request.args.get('q'))
    #以Get请求的方式获取数据,传入的参数是issinge
    print('issinge:',request.args.get('issinge'))
    return 'password is {}'.format(password)

if __name__ == '__main__':
    app.run(debug=True)

保存以上的代码,运行即可

Python武器库开发-flask篇之Get与Post(二十五)_第1张图片

接下来,我们我们在任意浏览器输入URL链接:http://127.0.0.1:5000/user/123456?time=2122&q=3&issinge=cat,以Get的方式去请求数据,常规输入url的访问就是get方法

Python武器库开发-flask篇之Get与Post(二十五)_第2张图片
这里可以看到我们以Get方式请求传入的数据参数,我们这里以Get的方式拿到了我们想要的值

Python武器库开发-flask篇之Get与Post(二十五)_第3张图片

Post请求

现在我们来学习如何以Post的方式提交数据,如果我们想要以Post的方式提交数据,通过request.form可以获取Post请求中的所有参数,以字典的形式返回,首先我们要先
运行以下的代码,例如:

#!/usr/bin/env python3

from flask import Flask
from flask import url_for
from flask import redirect
from flask import render_template
from flask import request

# 用当前脚本名称实例化Flask对象,方便flask从该脚本文件中获取需要的内容
app = Flask(__name__)

@app.route('/')
def index():
    return 'Hello World!'


#methods参数用于指定允许的请求格式
@app.route('/register',methods=['Get','POST'])
def register():
    print('method:',request.method)
    print("name",request.form['name'])
    print('password',request.form.get('password'))
    print('hobbies',request.form.getlist('hobbies'))
    print('age',request.form.get('age',default=18))
    return 'register successd!'

if __name__ == '__main__':
    app.run(debug=True)

保存即可,然后去运行这个脚本

python3 app.py

Python武器库开发-flask篇之Get与Post(二十五)_第4张图片

然后我们需要在写一个客户端的脚本文件(client.py),以Post的方式去提交数据:

#!/usr/bin/env python3
import requests

#设置需要发送的数据
user_info = {'name':'qianfu','password':'123456','hobbies':['code','run']}

#向url发送post请求
r = requests.post("http://127.0.0.1:5000/register",data=user_info)

print(r.text)

保存这行代码,运行脚本

#编辑脚本文件
vim client.py
#运行脚本文件
python3  client.py

在这里插入图片描述

此时,我们就以Post的方式提交了数据

Python武器库开发-flask篇之Get与Post(二十五)_第5张图片

你可能感兴趣的:(Python武器库开发,python,flask,开发语言)