序
python的requests模块是一个HTTP客户端库,跟urlli,urlli2类似,这里就讲解一下它的大致用法
安装
- 
    
安装
pip install requests 
基本用法
- 
    
get方法:r = requests.get(‘https://api.github.com/events’)
 - 
    
post方法:r = requests.post(“http://httpbin.org/post”, data = {“key”:”value”})
 - 
    
put方法:r = requests.put(“http://httpbin.org/put”, data = {“key”:”value”})
 - 
    
delete方法:r = requests.delete(“http://httpbin.org/delete”)
 - 
    
head方法:r = requests.head(“http://httpbin.org/get”)
 - 
    
options方法:r = requests.options(“http://httpbin.org/get”)
 
data¶ms
- 
    
data是传输的参数
 - 
    
params是用?追加到url后的
>>> payload = {'key1': 'value1', 'key2': ['value2', 'value3']} >>> r = requests.get("http://httpbin.org/get", params=payload) >>> print(r.url) http://httpbin.org/get?key1=value1&key2=value2&key2=value3 
response处理
- 
    
r = requests.post(“http://httpbin.org/post”, data = {“key”:”value”})
 - 
    
查看url: print r.url
 - 
    
查看普通返回结果:r.text
 - 
    
查看二进制返回结果:r.content
 - 
    
json形式:r.json(),注意有括号
 - 
    
查看返回码:r.status_code
 - 
    
查看headers:r.headers
 - 
    
查看cookie:r.cookies[‘example_cookie_name’]
 
添加herder
- 相当与curl命令的-H
    
>>> url = 'https://api.github.com/some/endpoint' >>> headers = {'user-agent': 'my-app/0.0.1'} >>> r = requests.get(url, headers=headers) 
post文件
- 
    
files的第一个参数文件名,第二个是文件,第三个是headers
>>> url = 'http://httpbin.org/post' >>> files = {'file': ('report.xls', open('report.xls', 'rb'), 'application/vnd.ms-excel', {'Expires': '0'})} >>> r = requests.post(url, files=files) 
添加cookie&过期时间
- cookies
 
    >>> url = 'http://httpbin.org/cookies'
    >>> cookies = dict(cookies_are='working')
    >>> r = requests.get(url, cookies=cookies)
 
- 过期时间:requests.get(‘http://github.com’, timeout=0.001)
 
使用session
- 访问过程使用session
 
    url = r'http://www.renren.com/ajaxLogin'
    user = {'email':'email','password':'pass'}
    s = requests.Session()
    r = s.post(url,data = user)
 
- 使用session验证
 
    s = requests.Session()
    s.auth = ('user', 'pass')
    s.headers.update({'x-test': 'true'})
    s.get('http://httpbin.org/headers', headers={'x-test2': 'true'})
 
下载文件
- 下载文件
 
url = 'http://www.pythontab.com/test/demo.zip'
r = requests.get(url)
with open("demo3.zip", "wb") as code:
     code.write(r.content)