文档:https://requests.readthedocs.io/zh_CN/latest/user/quickstart.html#id2
https://www.cnblogs.com/lanyinhao/p/9634742.html
requests七个主要方法
1.requests的get()方法
requests.get(url,params=None,**kwards);response对象:包含服务器返回的信息
r = requests.get(url)
test:
2.理解 response的编码
r.encoding:r如果header中不存在charset,则认为编码为ISO-8859-1
r.apparent_encoding:根据网页内容分析出的编码方式
preview:
r.encoding的编码方式
r.apparent_encoding的编码方式
3.理解Requests库的异常
test:
4.HTTP协议及Requests库方法
超文本传输协议
URL格式 http://host[:port][path]
host:合法的Internet主机域名或IP地址
port:端口号,缺省端口为80
path:请求资源的路径
实例:
http://www.bit.edu.cn
http://220.181.111.188/duty
HTTP URL 的理解:
URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源。
HTTP协议对资源的操作
r
理解PATCH 和PUT的区别:
假设URL位置有一组数据UserInfo,包括UserID、UserName等20个字段。
需求:用户修改UserName,其他不变
PATCH方法,仅向URL提交username的局部更新请求。相比较而言节省网络带宽
采用PUT方法,必须将所有20个字段一并提交到URL,未提交字段被删除
HTTP协议与Requests库:
5.Requests库的head()方法
requests.head 与 r.headers 及r.text
6.Requests库的post()方法
post提交字典后被放到了form下,键值对被默认放到表单下
post提交中文字符串后自动编码为data,
注意这里的中文字符串传入会报错,必须编码为utf-8,再解码为所需的格式
post提交英文字符串自动编码为data
7.Requests库的主要方法解析
requests.request(method,url,**kwargs)
methon:请求方式,对应get/put/post等7种
url:拟获取页面的url链接
**kwargs:控制访问的参数,共13个
A.method:请求方式 **kwargs:控制访问的参数,均为可选项
requests库中的访问参数(13):
1.params
字典或字节序列,作为参数增加到url中
2.data
字典、字节序列或文件对象,作为Request的内容;向服务器提交或提供资源
键值对,字符作为data存入到url链接所对应的位置
3.json:
JSON格式的数据,作为Request的内容
4.headers:
字典,HTTP定制头
5.cookies:
字典或CookieJar,Request中的cookie
6.auth:
元组,支持HTTP认证功能
7.files:
字典类型,传输文件
8.timeout:
设定超时时间,秒为单位 若timeout时间内请求没有返回,则返回一个timeout异常
9.proxies:
字典类型,设定访问代理服务器,可以增加登录认证
10.allow_redirects:
True/False,默认为True,重定向开关
11.stream:
True/False,默认为True,获取内容立即下载开关
12.verify:
True/False,默认为True,认证ssl证书开关
13.cert:
保存本地SSL证书路径
总结:
B、requests.get(URL,params=None,**kwargs)
C、requests.head(url,**kwargs)
D、requests.post(url,data=None,json=None,**kwargs)
E、requests.put(url,data=None,**kwargs)
F、requests.patch(url,data=None,**kwargs)
G、requests.delete(url,**kwargs)