web.input()和web.data()

概述

基于web.py框架,web.input()与web.data()是web.py模块中的两个函数,其都用来获取http请求包中的信息,但是获取的信息却是不同,以下我们来看看这两个函数有何不同

web.input()

web.input()方法返回一个包含从url(GET方法)或http header(POST方法,即表单POST)获取的变量的web.storage对象(类似字典)

实例,如果url处请求内容为http://example.com/test?name=xiaoming&age=20,在python后台若要获取name和age,利用input就很简单

>>> user_data = web.input()
>>> user_data.name
xiaoming
>>> user_data.age

如果想要指定一个默认变量,如下

>>> user_data = web.input(id=9527)
>>> user_data.id
9527

web.data()

web.data() 获取的是http请求包中的实体正文,函数返回值类型也是str。

利用postman进post,比如post请求包的实体正文为:test=test&test2=test2,通过以下代码便可获取实体正文数据

>>> web.data()
test=test&test2=test2

比较

  • web.input() 获取url或是headler的参数,可以用于GET和POST请求包。
  • web.data() 获取实体正文,只能用于POST请求包

注意

两个方法返回值都是str类型的,因此如果需要另做其他用户,必须进行转换

你可能感兴趣的:(web)