requests库的7个主要方法
requests.request() 构造一个请求,支撑以下各方法的基础方法
requests.get() 获取HTML网页的主要方法,对应于HTTP的GET
requests.head() 获取HTML网页头信息的方法,对应于HTTP的HEAD
requests.post() 向网页提交post请求的方法, 对应于HTTP的POST
requests.put() 向网页提交put请求的方法,对应于HTTP的PUT
requests.patch() 向网页提交局部修改请求,对应于HTTP的PATCH
requests.delete()向页面提交删除请求,对应于HTTP的DELETE
get方法
r = requests.get(url)
构造一个向服务器请求资源的Request对象 返回一个包含服务器资源的Response对象®
requests.get(url, params = None, * *kwargs)
url: 拟获取页面的url链接
params:url中的额外参数, 字典或字节流格式,可选
- *kwargs: 12个控制访问的参数
Response对象的属性
r.status_code HTTP请求的返回状态,200表示连接成功,404表示失败
r.text HTTP响应内容的字符串形式, 即,url页面的对应内容
r.encoding 从HTTP header猜测的响应内容的编码方式
r.apparent_encoding 从内容分析出的响应内容编码方式(备选编码方式)
r.content HTTP响应内容的二进制形式
requests库的异常
requests.ConnectionError 网络连接错误异常,如DNS查询失败,拒绝连接等
requests.HTTPError HTTP错误异常
requests.URLRequired URL缺失异常
requests.TooManyRedirects 超过最大冲定向次数,产生重定向异常
requests.ConnectTimeout 连接远程服务器超时异常
requests.Timeout 请求ULR超时异常
r.raise_for_status 如果不是200,产生异常requests.HTTPError
HTTP协议
HTTP, Hypertext Transfer Protocol, 超文本传输协议
一个基于‘请求与响应’模式的,无状态的应用层协议
采用URL作为定位网络资源的标识
URL格式:http://host[:port] [ path]
host:合法的Internet主机域名或IP地址
port:端口号,缺省端口为80
path: 请求资源路劲
HTTP 协议对资源的操作
get 请求获取url位置的资源
head 请求获取URL位置资源的响应信息报告,即获得该资源的头部信息
POST 请求向URL位置资源的后面附加新的数据
PUT 请求向URL位置存储一个资源,覆盖URL位置原有的资源
PATCH 请求局部更新URL位置的资源,即更改该资源的部分内容
DELETE 删除URL位置的资源
request方法
requests.request(method, url, * *kwargs)
method, 请求方式,对应get/put/post7种
r = reqests.request(‘GET’, url, * *kwargs)
- *kwargs 13个控制访问参数
params: 字典或字节序列,作为参数增加到url中
data: 字典或字节序列,或文件对象,作为Request对象
json: JSON格式的数据,作为Request的内容
headers: 字典,HTTP定制头
cookies:字典或cookieJar,Request中的cookie
auth:元组,支持HTTP认证功能
files:字典类型,传输文件
timeout:设定超时时间,秒为单位
proxies:字典类型,设定访问代理服务器,可以增加登录认证
allow_redirects:True/False 默认为True, 重定向开关
stream:True/False 默认为True,获取内容立即下载开关
verify:True/False 默认为True ,认证SSL证书开关
cert:本地SSL证书路径