python-requests库

文档: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)

 

posted @ 2020-09-21 22:27  yescarf  阅读(162)  评论(0编辑  收藏  举报