url:拟获取页面的url链接
parma:url中的额外参数,字典或字典流格式,可选
**kwargs:12个控制访问参数
r.status_code: http请求的返回状态,200表示连接成功,404表示失败(除了200外都是属于失败的)
r.text: http相应内容的字符串形式,即,URL对应的页面内容
r.encoding: 从HTTP hradet 中猜测的相应内容编码方式
r.apparent_encoding: 从内容中分析出的相应内容编码方式(备选编码方式)
r.content: HTTP响应内容的二进制形式
注意:r.encoding:如果header中不存在charset,则认为编码为ISO-8859-1
r.apparent_encoding:根据网页内容分析出的编码方式
requests.ConnectioError: 网络连接错误异常,如dns查询失败、拒绝连接等
requests.HTTPError: HTTP错误异常
requests.URLRequired: URL缺失异常
requests.TooManyRedirects: 超过最大重定向次数,产生重定向异常
requests.ConnectTimeout: 连接远程服务器超时异常
requests.Timeout: 请求URL超时,产生超时异常
r.raise_for_status() 如果不是200,产生异常request.HTTPError
1、request.request() 构造一个请求,支撑一下各方法的基础方法
requests.get(method,url,**kwargs)
①method:请求方法,对应get/put/post等7种
②url:拟获取页面的URL链接
③**kwargs:控制访问参数,共13个
params:字典或字节序列,作为参数增加到URL中
kw = {‘key1‘:‘value1‘ , ‘key2‘:‘value2‘} r = requests.request(‘GET‘,‘http://python123.io/ws‘,params=kv) print(r.url)
data:字典、字节序列或者文件对象,作为Request的内容
kw={‘key1‘:‘value1‘,‘key2‘:‘value2‘} r=requests.request(‘POST‘,‘http://python123.io/ws‘,data=kw) body=‘注册内容‘ r=requests.request(‘POST‘,‘http://python123.io/ws‘,data=body)
json:JOSN格式的数据,作为Request的内容
kv={‘key1‘:‘value1‘,‘key2‘:‘value2‘} r=requests.request(‘POST‘,‘http://python123.io/ws‘,json=kv)
headers:字典,http定制头
hd={‘user_agent‘:‘chram/10‘} r=requests.request(‘POST‘,‘http://python123.io/ws‘,haders=hd)
cookie:字典或Cookiejar,Request中的cookie
auth:元祖,支持HTTP认证功能
files:字典类型,传输文件,向某个链接提交某个文件
fs={‘file‘:open(‘data,xls‘,‘rb‘)} r=requests.request(‘POST‘,‘http://python123.io/ws‘,files=fs)
timeout:设定超时时间,以秒为单位
r=requests.request(‘GET‘,‘http://python123.io/ws‘,timeout=10)
proxies:字典类型,设定访问的代理服务器,可以增加登陆认证
pxs={‘http:‘http://user:pass@10.10.10.1:1234‘ ‘https‘:‘https://10.10.10.1:4321‘} r=requests.request(‘GET‘,‘http:www.baidu.com‘,proxies=pxs)
allow_redirects:True/False,默认为True,重定向开关
stream:True/False,默认为True,获取内容立即下载开关
verify:True/False,默认为True,认证SSL证书开关
cert:本地SSL证书路径
2、requests.get() 获取HTML网页的主要方法,对应HTTP的get
3、requests.head() 获取HTML网页头信息的方法,对应于HTTP的head
4、requests.post() 向HTML网页提交post请求的方法,对应于HTTP的post
requests.post(url,data=None,json=None,**kwargs)
5、requests.put() 向HTML网页提交put请求的方法,对应于HTTP的put
6、requests.patch() 想HTTP网页提交局部修改请求,对应于HTTP的patch
7、requests.delete() 向HTTP页面提交删除请求,对应于HTTP的delete
1、HTTP,超文本传输协议。
①HTTP是基于‘请求与响应’模式的、无状态的应用层协议。
②HTTP协议采用URL作为定位网络资源的标识。
③URL格式:http://host[:port][path]
host:合法的Internet主机域名或IP地址
post:端口号,默认端口好为80
path:请求资源的路径
④HTTP URL的理解:
URL是通过HTTP协议存取资源的Internet路径,一个URL对应一个数据资源
GET 请求获取URL位置的资源
HEAD 请求获取URL位置资源的响应报告,即获得该资源的头部信息
POST 请求向URL位置的资源后附加新的数据
PUT 请求向URL位置储存的一个资源,覆盖原URL位置的资源
PATCH 请求局部更新URL位置的资源,即改变该处资源的部分内容
DELETE 请求删除URL位置存储的资源
原文:https://www.cnblogs.com/zihkj/p/12267765.html