#requests 7个主要方法
'''
想要了解7个主要方法必须先了解HTTP协议的7个方法,requests的7个与之对应。
其中requests.requests()是其他六个的基础
HTTP:超文本传输协议。
get:客户端向服务端发起请求,获得资源。请求获得URL处所在的资源。
post:向服务端提交新的请求字段。请求URL的资源后添加新的数据。
head:请求获取URL资源的响应报告,即获得URL资源的头部
patch:请求局部修改URL所在资源的数据项
put:请求修改URL所在资源的数据元素。
delete:请求删除url资源的数据
patch与put 比较:
例如一名学生的信息:姓名:张三;性别:男;学号:123;
patch提交修改性别。修改后:姓名:张三;性别:女;学号:123;
put提交修改性别,修改后:姓名:;性别:女;学号:; 这是因为patch是局部的,put必须提交全部数据项,即整个数据元素。增加了带宽
基础函数:
为什么称为基础:requests库中:
def requests(method,url,**kwargs) #**kwargs为可选位置参数
{
省略
}
def get(url,**kwargs):
return requests(get,url,**kwargs)
def post(url,**kwargs):
return requests(post,url,**kwargs)
等其他方法,这样做的目的就是方便用户调用,将requests方法封装。
method有:
get;post;put;head;delete;patch;
**kwargs:可选位置参数;
payload={"key1":"value1"}
例如:post(url,data=payload)
常用**kwargs:共13个
params:字典或字节序列,作为参数添加到URL中
data:若data=字典,则以form(表单)为Requests内容提交;若data="字符串",则Requests data="字符串"
json:以json格式数据作为Requests内容。
headers:字典,模仿浏览器行为,为Requests定制表头
cookies:字典或CookieJar,作为Requests的cookie。
PRoxies:字典,作为代理
ip,设定代理服务器
timeout:设定超时时间,以秒为单位。
file:字典,传输文件
auth:元组,支持HTTP的认证。
stream:True/False,默认为True,获取内容立即下载;
verify:True/False 默认为True,认证SSL证书开关。
allow_redirects:True/False ,默认为True.支持重定向。
cert:本地ssl路径
特殊例子:
file={'file':open('data.xls','rb')}
proxies={'http':'http://user:
[email protected]:1234','https':'https://10.10.10.1:4321'}
'''