文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

【Python Flask实战】获取HTTP请求数据

2024-12-03 08:07

关注

客户端通过Url访问服务端程序,会发送给服务端两类信息,一类是HTTP请求头,另外一类就是请求数据。

一般HTTP请求会通过GET方法和POST方法向服务端提交数据。因此,服务端程序需要获得客户端的这些请求数据,然后会做进一步的处理。例如,如果服务端要想对客户端的类型(使用的什么浏览器)做一下统计,就需要获取HTTP请求头中的User-Agent字段的值。如果要得到客户端表单提交的数据,就要在服务端获取GET请求或POST请求的数据。

读取POST请求在后面的文章会详细介绍,本文先看一个如何读取HTTP请求头和GET请求的数据。在Flask中读取HTTP请求头和GET请求的数据需要导入flask模块中的一个全局变量request,然后使用request.headers.get(...)读取HTTP请求头数据。get方法的参数就是HTTP请求头字段的名称。使用request.args.get(...)读取GET请求中的某个字段的值。get方法的参数值就是GET请求的字段名称。

本例编写了两个路由,分别用来读取HTTP请求头数据和GET请求数据。

  1. from flask import Flask 
  2. from flask import request 
  3.   
  4. app = Flask(__name__) 
  5. # 根路由,用来读取HTTP请求头数据 
  6. @app.route('/'
  7. def index(): 
  8.     # 读取HTTP请求头的User-Agent字段值 
  9.     user_agent = request.headers.get('User-Agent'
  10.     return '' % user_agent 
  11. # 用于读取GET请求数据的路由 
  12. @app.route('/abc'
  13. def abc(): 
  14.     # 读取GET请求中的arg字段值 
  15.     value = request.args.get('arg'
  16.     return '' % value 
  17. if __name__ == '__main__'
  18.     app.run() 

运行程序,然后在浏览器地址栏中输入如下的Url。

  1. http://localhost:5000 

访问上面的Url后,会在浏览器中输出如图1所示的信息。要注意的是,这个输出信息会根据读者使用的浏览器不同而有所差异。但都会描述了读者使用的浏览器类型。例如,本例使用Chrome浏览器进行测试,所以输出信息会出现Chrome以及对应的版本号。

图1 返回浏览器类型

接下来在浏览器地址栏输入如下的Url。

  1. http://localhost:5000/abc?arg=hello 

会在浏览器中输出如图2所示的内容。

图2 返回GET请求参数值

本文转载自微信公众号「极客起源」,可以通过以下二维码关注。转载本文请联系极客起源公众号。

 

 

来源:极客起源内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯