这篇我们来介绍一下请求处理过程。其实,在前面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-请求处理(上)相关推荐

  1. python web py入门-1-web.py简介和安装

    背景 记录python web.py开发入门学习的过程,主要想通过这个入门,然后继续去学习python Django框架开发课程.目前我的个人技能状态是,稍微懂点selenium webUI自动化测试 ...

  2. python web py入门(2)-URL处理

    本文介绍URL映射,在介绍映射之前,我们先了解下什么是URL? URL(Uniform/Universal Resource Locator的缩写,统一资源定位符)是对可以从互联网上得到的资源的位置和 ...

  3. python web py入门(3)-模板

    WEB服务器在生成HTML网页时,有两个选择,一个是从代码里嵌入HTML来生成HTML页面返回,另一个是从HTML代码里嵌入执行代码来生成HTML页面返回.这两种方式,其实都有使用,比如在嵌入式系统里 ...

  4. python web py入门(1)-web.py简介和安装

    1.web.py 简介 web.py是一个轻量级的python web框架,简单而且功能强大.相对flask和Django,web.py更适合初学者来学习和了解web开发的基础知识. 2.web.py ...

  5. python web py入门(6)-webpy在模板里使用code代码段错误的问题

    像下面这段代码在WEBPY 0.40里会发现出错: $def with (page_posts, page_count, page)$code:grace = 5range = grace * 2st ...

  6. python web py入门(4)-从数据库读取数据显示到网页

    在你开始使用数据库之前,确保你已经安装了合适的数据库访问库.比如对于MySQL数据库,使用mysql-connector客户端来连接. 下载Mysql数据并安装: 从下面的连接里下载到Mysql数据库 ...

  7. python web py入门-7-响应处理(下)

    前面我们介绍了响应处理的两种方式,这边学习如何从数据库获取结果.简单来说,就是从数据库查询数据并显示在前端html页面上.因为涉及到数据库,所以,我们这里先要安装一个数据库软件,这里用mysql,具体 ...

  8. python web py入门(13)- 实现发贴到论坛

    在前面已经说明白了实现登录论坛,当你进入论坛之后,一般就是想发表文章,简称为贴子,那么怎么样把你的文章从浏览器里发送给WEB服务器呢?其实这个过程还是比较复杂的,首先要在浏览器里实现一个编辑器,它是使 ...

  9. python web py入门(14)- 实现从论坛里查看某一主题

    前面介绍了怎么样发贴到论坛,其实论坛之所以吸引人,是因为论坛可以让所有人围绕这一个主题进行深入的讨论和学习.因此,实现论坛里,必须有查看一个主题内容和它所有的评论,在这里就介绍这个过程的实现. 与前面 ...

最新文章

  1. ashx 跨域_ASP.NET通用HTTP处理程序(ashx的),支持JSONP
  2. jvm内存结构_浅谈JVM内存结构
  3. ASP.NET Core在Docker下面生成简易验证码
  4. .NET Core下的开源分布式任务调度系统ScheduleMaster-v2.0低调发布
  5. project开发的程序设计与逻辑设计
  6. Qt文档阅读笔记-QFuture官方解析及实例
  7. android launchmode java代码,java – Android:launchMode = SingleTask问题
  8. 【BZOJ1412】【codevs2351】狼和羊的故事,最小割
  9. c语言程序设计自学跟谁好,双辽c语言编程学习,双辽学c语言编程哪个好,双辽学c语言编程自学好还是报班好...
  10. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第4节 等待唤醒机制_1_线程状态概述...
  11. C语言队列解决舞伴匹配问题
  12. htc328d屏幕排线怎么换_HTC T328D解锁详细图文教程
  13. 【网络安全】SQL注入详细分析
  14. 设计模式之建造者和原型模式
  15. 最简单的加密---异或加密
  16. 联想拯救者y7000p加内存条_联想 拯救者Y7000P 如何插入SD卡?
  17. 大脑衰老可逆转,只需注入年轻脑脊液,“返老还童”登Nature
  18. Kaggle教程 机器学习中级3 分类变量
  19. 推荐几个无需注册免费的PPT模板下载网站
  20. 奔向三张,不破不立:一个iOS开发工程师的职业规划思考

热门文章

  1. win10语言栏不见了_ME 2020软件下载和安装教程|兼容WIN10
  2. 计算机语言栏转换,Win8语言栏恢复及转换成WinXP/7语言栏形式的方法
  3. 微软WindowsPhone7.5发布会图文实录windowsphone
  4. PyCharm必看--PyCharm基础使用手册
  5. Crystals Kyber密码算法解读(一)
  6. Ubuntu下载安装EDB1.3.0 2021.07
  7. 高以翔猝死事件警示录,劝你熬夜All In的人也许在害你!
  8. Filter过滤器及其作用介绍
  9. 一个C程序辨别系统是64位还是32位
  10. 一文了解什么是FTP协议