Python Test API - 002-HTTP请求方法,如何用Requests实现这些请求

HTTP请求可以使用多种请求方法

GETPOST HEADOPTIONS PUT DELETETRACE CONNECT 方法。

·        GET 

·        请求指定的页面信息,并返回实体主体。

·        GET请求请提交的数据放置在HTTP请求协议头中,GET方法通过URL请求来传递用户的输入,GET方式的提交你需要用Request.QueryString来取得变量的值。

·        GET方法提交数据,可能会带来安全性的问题,数据被浏览器缓存。

·        GET请求有长度限制。

·        HEAD

·        类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头。

·        POST

·        向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。

·        POST请求可能会导致新的资源的建立和/或已有资源的修改。

·        POST方式提交时,你必须通过Request.Form来访问提交的内容

·        PUT

·        从客户端向服务器传送的数据取代指定的文档的内容。

·        DELETE

·        请求服务器删除指定的页面。

·        DELETE请求一般返回3种码

·        200OK——删除成功,同时返回已经删除的资源。

·        202Accepted——删除请求已经接受,但没有被立即执行(资源也许已经被转移到了待删除区域)。

·        204No 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')






猜你喜欢

转载自blog.csdn.net/Pansc2004/article/details/80731613