request库的7种方法
-
requests.request(method,url,**kwargs)
-
-
method:请求的方式,可以选择get、head、post等方法
-
url:表示获取的链接地址
-
**kwargs:控制参数,13个
-
params:字典或者字节序列,作为参数添加到url中
import requests r1 = requests.request('GET','http://httpbin.org/get') print(r1.url) import requests kv = {'key1':'value1','key2':'value2'} r2 = requests.request('GET','http://httpbin.org/get',params = kv) print(r2.url) import requests kv = {'key1':'value1','key2':['value2','values3']} r3= requests.request('GET','http://httpbin.org/get',params = kv) print(r3.url) >>>http://httpbin.org/get >>>http://httpbin.org/get?key2=value2&key1=value1 >>>http://httpbin.org/get?key2=value2&key2=values3&key1=value1
-
data : 字典、字节序列或者文件对象,作为Request中的内容
你想要发送一些编码为表单形式的数据,只需要传递一个字典给data,你的数据字典字典会自动编码为表单形式
import requests r = requests.request('POST','http://httpbin.org') print(r.text) kv = {'key':'value'} r1 = requests.request('POST','http://httpbin.org',data = kv) print(r1.text)
你还可以为data参数传入一个元组列表,在表单中多个元素使用同一key时,这种方式尤其有效。
>>> payload = (('key1', 'value1'), ('key1', 'value2')) >>> r = requests.post('http://httpbin.org/post', data=payload) >>> print(r.text)
-
json : JSON格式的数据,作为Request中的内容
kv = {'key1': 'value1'} r = requests.request('POST', 'http://python123.io/ws', json=kv)
-
headers : 字典、Http定制头
hd = {'user‐agent': 'Chrome/10'} r = requests.request('GET', 'http://python123.io/ws', headers=hd)
-
cookies : 字典或CookieJar,Request中的cookie
-
auth : 元组,支持http认证功能
-
files : 字典类型,传输文件
-
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证书路径
-
-
-
requests.get(url,params=None,**kwargs)
- url :获取的链接
- params :与request方法中的params一致
- **kwargs : 12个可选参数
-
requests.head(url,**kwargs)
- **kwargs : 12个控制访问参数
-
requests.post(url,data = None,json = None,**kwargs)
- **kwargs:12个控制访问参数
-
requests.put(url, data=None, **kwargs)
- **kwargs: 12个控制访问的参数
-
requests.patch(url, data=None, **kwargs)
- **kwargs: 12个控制访问的参数
-
requests.delete(url, **kwargs)
文章参考中国mooc,仅用来自记