python web py入门-4-请求处理(上)
这篇我们来介绍一下请求处理过程。其实,在前面python中requests做接口自动化的系列讲过请求和响应。服务器需要对客户端发送的请求,进行解析和处理。我们在前面文章介绍的URL映射,每次输入新的URL都是一次发送请求的过程。在cmd里可以看到这些请求的记录。
1. 用客户端合肥服务器的图形表示如下
文字解释下,一开始浏览器给服务器发送一个请求,请求数据主要由请求行,head,body组成。如果是post请求,requset line里面只有地址没有参数,参数放在了body里面。如果是get请求,request line里面包括URL和接口参数拼接在后面。body就是空。同样响应内容也有响应行,头部,body三部分组成。
2.代码实现请求处理
在web.py中请求参数获取是用方法web.input(); 请求头信息是用方法: web.ctx.env
我们做一个123.html的表单,方便待会测试POST请求
<html><head><title>hello 123</title></head><body><h1>POST</h1><form action="/blog/123" method="POST"><input type="text" name="id" value=""/><input type="password" name="password" value=""/><input type="submit" value="submit"></form></body></html>
然后我们修改下hello.py内容,主要是增加get和post方法获取参数。hello.py和123.html两个文件需要放在同一个目录下,例如桌面。
import weburls = ('/index', 'index','/blog/\d+', 'blog','/(.*)', 'hello'
)
app = web.application(urls, globals())class hello: def GET(self, name):return open(r'123.html').read()class index:def GET(self):query = web.input()return queryclass blog:def POST(self):data = web.input()return dataif __name__ == "__main__":app.run()
2.测试效果
先来看看,浏览器访问http://127.0.0.1:8080/index?name=Anthony&city=Beijing,然后回车。
可以看到,获取到了get方法的参数。
再看看post请求参数获取,我们浏览器输入如下图,输入用户名和密码。
点击提交之后,可以获取到刚刚输入的值。
通过上面的举例,我们验证了web.py GET和POST是如何获取请求参数的。
python web py入门-4-请求处理(上)相关推荐
- python web py入门-1-web.py简介和安装
背景 记录python web.py开发入门学习的过程,主要想通过这个入门,然后继续去学习python Django框架开发课程.目前我的个人技能状态是,稍微懂点selenium webUI自动化测试 ...
- python web py入门(2)-URL处理
本文介绍URL映射,在介绍映射之前,我们先了解下什么是URL? URL(Uniform/Universal Resource Locator的缩写,统一资源定位符)是对可以从互联网上得到的资源的位置和 ...
- python web py入门(3)-模板
WEB服务器在生成HTML网页时,有两个选择,一个是从代码里嵌入HTML来生成HTML页面返回,另一个是从HTML代码里嵌入执行代码来生成HTML页面返回.这两种方式,其实都有使用,比如在嵌入式系统里 ...
- python web py入门(1)-web.py简介和安装
1.web.py 简介 web.py是一个轻量级的python web框架,简单而且功能强大.相对flask和Django,web.py更适合初学者来学习和了解web开发的基础知识. 2.web.py ...
- python web py入门(6)-webpy在模板里使用code代码段错误的问题
像下面这段代码在WEBPY 0.40里会发现出错: $def with (page_posts, page_count, page)$code:grace = 5range = grace * 2st ...
- python web py入门(4)-从数据库读取数据显示到网页
在你开始使用数据库之前,确保你已经安装了合适的数据库访问库.比如对于MySQL数据库,使用mysql-connector客户端来连接. 下载Mysql数据并安装: 从下面的连接里下载到Mysql数据库 ...
- python web py入门-7-响应处理(下)
前面我们介绍了响应处理的两种方式,这边学习如何从数据库获取结果.简单来说,就是从数据库查询数据并显示在前端html页面上.因为涉及到数据库,所以,我们这里先要安装一个数据库软件,这里用mysql,具体 ...
- python web py入门(13)- 实现发贴到论坛
在前面已经说明白了实现登录论坛,当你进入论坛之后,一般就是想发表文章,简称为贴子,那么怎么样把你的文章从浏览器里发送给WEB服务器呢?其实这个过程还是比较复杂的,首先要在浏览器里实现一个编辑器,它是使 ...
- python web py入门(14)- 实现从论坛里查看某一主题
前面介绍了怎么样发贴到论坛,其实论坛之所以吸引人,是因为论坛可以让所有人围绕这一个主题进行深入的讨论和学习.因此,实现论坛里,必须有查看一个主题内容和它所有的评论,在这里就介绍这个过程的实现. 与前面 ...
最新文章
- ashx 跨域_ASP.NET通用HTTP处理程序(ashx的),支持JSONP
- jvm内存结构_浅谈JVM内存结构
- ASP.NET Core在Docker下面生成简易验证码
- .NET Core下的开源分布式任务调度系统ScheduleMaster-v2.0低调发布
- project开发的程序设计与逻辑设计
- Qt文档阅读笔记-QFuture官方解析及实例
- android launchmode java代码,java – Android:launchMode = SingleTask问题
- 【BZOJ1412】【codevs2351】狼和羊的故事,最小割
- c语言程序设计自学跟谁好,双辽c语言编程学习,双辽学c语言编程哪个好,双辽学c语言编程自学好还是报班好...
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第4节 等待唤醒机制_1_线程状态概述...
- C语言队列解决舞伴匹配问题
- htc328d屏幕排线怎么换_HTC T328D解锁详细图文教程
- 【网络安全】SQL注入详细分析
- 设计模式之建造者和原型模式
- 最简单的加密---异或加密
- 联想拯救者y7000p加内存条_联想 拯救者Y7000P 如何插入SD卡?
- 大脑衰老可逆转,只需注入年轻脑脊液,“返老还童”登Nature
- Kaggle教程 机器学习中级3 分类变量
- 推荐几个无需注册免费的PPT模板下载网站
- 奔向三张,不破不立:一个iOS开发工程师的职业规划思考
热门文章
- win10语言栏不见了_ME 2020软件下载和安装教程|兼容WIN10
- 计算机语言栏转换,Win8语言栏恢复及转换成WinXP/7语言栏形式的方法
- 微软WindowsPhone7.5发布会图文实录windowsphone
- PyCharm必看--PyCharm基础使用手册
- Crystals Kyber密码算法解读(一)
- Ubuntu下载安装EDB1.3.0 2021.07
- 高以翔猝死事件警示录,劝你熬夜All In的人也许在害你!
- Filter过滤器及其作用介绍
- 一个C程序辨别系统是64位还是32位
- 一文了解什么是FTP协议