python web py入门-4-请求处理(上)
2017-09-05 23:07
363 查看
这篇我们来介绍一下请求处理过程。其实,在前面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 web
urls = (
'/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 query
class blog:
def POST(self):
data = web.input()
return data
if __name__ == "__main__":
app.run()
2.测试效果
先来看看,浏览器访问http://127.0.0.1:8080/index?name=Anthony&city=Beijing,然后回车。
可以看到,获取到了get方法的参数。
再看看post请求参数获取,我们浏览器输入如下图,输入用户名和密码。
点击提交之后,可以获取到刚刚输入的值。
通过上面的举例,我们验证了web.py GET和POST是如何获取请求参数的。
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 web
urls = (
'/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 query
class blog:
def POST(self):
data = web.input()
return data
if __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入门-7-响应处理(下)
- python web py入门-6-响应处理(上)
- Python入门:模拟登录(二)或注册之requests处理带token请求
- lighttpd+web.py的一个简单测试结果:每秒可处理350个请求
- python web py入门(2)-URL处理
- python web py入门(13)- 实现发贴到论坛
- python-web.py 入门介绍
- 在Python3.0中使用HTTPServer处理web请求2-获取请求参数
- Python Web ----->处理请求
- python web py入门-2-显示一个demo网页
- python使用web.py开发httpserver,解决post请求跨域问题
- 11.1 python之webpy获取请求参数,把数据库结果放到List,Retrofit Post
- python-web.py开发入门(推荐)
- python web py入门-1-web.py简介和安装
- python web中models.py中的一些处理
- python web py入门-1-web.py简介和安装
- Python入门:模拟登录(二)或注册之requests处理带token请求
- python web py入门-5-请求处理(下)
- Python搭建Web服务器,与Ajax交互,接收处理Get和Post请求的简易结构
- Spring Boot入门(6)-使用AOP统一处理Web请求日志