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/<password>')
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)

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

在这里插入图片描述

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

在这里插入图片描述
这里可以看到我们以Get方式请求传入的数据参数,我们这里以Get的方式拿到了我们想要的值

在这里插入图片描述

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

在这里插入图片描述

然后我们需要在写一个客户端的脚本文件(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的方式提交了数据

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怰月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值