1.3.2 HTTP REQUEST METHODS(http 请求方式)
2016-01-08 14:09
555 查看
http 为完成不同的任务定义了一些请求方式。GET方式是没有指定方式时的默认方式。路由们默认会只匹配GET请求方式。为了使用诸如POST,PUT,DELETE或是PATCH这些请求方式,只需在route()装饰器中加一些关键字参数,或是用以下5种原生态的装饰器:get(),post(),put(),delete() 或是patch()。
POST方式常见于HTML的表单提交中。这个例子展示了如何用POST完成登录操作:
在这个例子中 /login URL 连接了两个不同的回调函数,一个用来相应GET请求另一个用来相应POST请求。第一个显示了一个HTML表单。第二个回调函数接收了表单提交并且检查用户输入的用户名密码是否正确。Request.forms的使用将会在以后介绍。
特殊的提交方式:HEAD和ANY
HEAD请求跟GET请求类似,但是没有响应的主体。好处是不用下载整个文档就能检索元数据信息。Bottle自动处理这些请求通过响应的GET路由然后删去响应的主体,如果GET方式存在的话。你不必自己指定任何HEAD路由。
另外,不在标准之中的ANY方式工作时像一个低优先级回溯:只有没有指定的路由定义的时候才会匹配ANY方式。这对许多子应用的代理路由器的重定向请求很有用。【好吧,也不知道这段在讲什么】
来总结一下:HEAD 请求会回退到 GET请求的路由;所有的请求都会回退到ANY路由,如果没有其它匹配路由的话,就这么简单。
POST方式常见于HTML的表单提交中。这个例子展示了如何用POST完成登录操作:
from bottle import get, post, request # or route @get('/login') # or @route('/login') def login(): return ''' <form action="/login" method="post"> Username: <input name="username" type="text" /> Password: <input name="password" type="password" /> <input value="Login" type="submit" /> </form> ''' @post('/login') # or @route('/login', method='POST') def do_login(): username = request.forms.get('username') password = request.forms.get('password') if check_login(username, password): return "<p>Your login information was correct.</p>" else: return "<p>Login failed.</p>"
在这个例子中 /login URL 连接了两个不同的回调函数,一个用来相应GET请求另一个用来相应POST请求。第一个显示了一个HTML表单。第二个回调函数接收了表单提交并且检查用户输入的用户名密码是否正确。Request.forms的使用将会在以后介绍。
特殊的提交方式:HEAD和ANY
HEAD请求跟GET请求类似,但是没有响应的主体。好处是不用下载整个文档就能检索元数据信息。Bottle自动处理这些请求通过响应的GET路由然后删去响应的主体,如果GET方式存在的话。你不必自己指定任何HEAD路由。
另外,不在标准之中的ANY方式工作时像一个低优先级回溯:只有没有指定的路由定义的时候才会匹配ANY方式。这对许多子应用的代理路由器的重定向请求很有用。【好吧,也不知道这段在讲什么】
来总结一下:HEAD 请求会回退到 GET请求的路由;所有的请求都会回退到ANY路由,如果没有其它匹配路由的话,就这么简单。
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法