HTTP请求可以使用多种请求方法
GET、POST、 HEAD、OPTIONS、 PUT、 DELETE、TRACE 和 CONNECT 方法。
· GET
· 请求指定的页面信息,并返回实体主体。
· GET请求请提交的数据放置在HTTP请求协议头中,GET方法通过URL请求来传递用户的输入,GET方式的提交你需要用Request.QueryString来取得变量的值。
· GET方法提交数据,可能会带来安全性的问题,数据被浏览器缓存。
· GET请求有长度限制。
· HEAD
· 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头。
· POST
· 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。
· POST请求可能会导致新的资源的建立和/或已有资源的修改。
· POST方式提交时,你必须通过Request.Form来访问提交的内容
· PUT
· 从客户端向服务器传送的数据取代指定的文档的内容。
· DELETE
· 请求服务器删除指定的页面。
· DELETE请求一般返回3种码
· 200(OK)——删除成功,同时返回已经删除的资源。
· 202(Accepted)——删除请求已经接受,但没有被立即执行(资源也许已经被转移到了待删除区域)。
· 204(No Content)——删除请求已经被执行,但是没有返回资源(也许是请求删除不存在的资源造成的)。
· CONNECT
· HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
· OPTIONS
· 允许客户端查看服务器的性能。
· TRACE
· 回显服务器收到的请求,主要用于测试或诊断。
用Requests实现请求:
· get
无参数例子
import requests
r = requests.get('https://api.github.com/events')
print(r.status_code)
200
带参数例子1
比如实现 http://httpbin.org/get?key2=value2&key1=value1
import requests
payload = {'key1':'value1', 'key2':'value2'}
r = requests.get('http://httpbin.org/get', params=payload)
print(r.url)
C:\Python35\python.exe D:/pyjd/djanRestPro/api/tests.py
http://httpbin.org/get?key1=value1&key2=value2
代参数例子2,给key2传递多个值
>>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']}
>>> r = requests.get('http://httpbin.org/get', params=payload)
>>> print(r.url)
http://httpbin.org/get?key1=value1&key2=value2&key2=value3
· post
r = requests.post('http://httpbin.org/post', data = {'key':'value'})
· put
r = requests.put('http://httpbin.org/put', data = {'key':'value'})
· delete
r = requests.delete('http://httpbin.org/delete')
· head
r = requests.head('http://httpbin.org/get')
· options
r = requests.options('http://httpbin.org/get')