[关闭]
@nemos 2017-05-06T01:59:17.000000Z 字数 1328 阅读 718

requests

py


请求

基本

  1. import requests
  2. r = requests.get(url)#get课换成其他任意请求方法
  3. #返回的对象具有基本的请求信息
  4. r.status_code #状态码
  5. r.encoding #编码方式
  6. r.cookies #保存cookie的对象

Get请求

  1. param = {'key1' : 'value1'}
  2. header = {}
  3. r = requests.get(url, headers=header)#headers指定头
  4. r = requests.get(url, params=param) #params指定参数
  5. r.url #返回结合了参数的url
  6. r.json() #以JSON方式来解析
  7. r = requests.get(url, stream=True)
  8. r.raw #获得原始套接字内容
  9. r.raw.read() #读取
  10. req = requests.get(imgurl, stream=True) #读取内容到文件
  11. with open(filename, 'wb') as f:
  12. for chunk in req.iter_content():
  13. f.write(chunk)

Post请求

  1. data = {'key1' : 'value1'}
  2. file = {'file': open('file.txt', 'rb')}
  3. r.request.post(url, data=data) #传入数据
  4. r.request.post(url, files=file)#传入文件
  5. with open('bigfile') as f:
  6. requests.post('url', data=f)#流式上传
  7. r.text #以文本形式读取返回的数据

Cookie管理

  1. r = requests.get(url)
  2. r.cookies #获得cookie
  3. r.cookies['cookiename']
  4. r = requests.get(url, cookies=dict(cookie='somecookie')) #发送cookie

超时配置

  1. requests.get(url, timeout=0.001) #仅对连接过程有效

会话管理

  1. s = requests.Session() #获得会话对象可以当作requests来使用
  2. #相当于于一个全局的变量
  3. s.get(url, cookies=cookie)#发送cookie请求
  4. r = s.get(url) #获取上次会话的cookie

Cookies的保存与加载

  1. session = requests.session()
  2. session.cookies = cookielib.LWPCookieJar(filename='cookies')
  3. session.cookies.load(ignore_discard=True)

修改会话对象的值

  1. s.headers.update({'key1: value1'})
  2. r = s.get(url, headers={'key2': 'value2'})#两个基本等价
  3. #前后会覆盖,不需要则直接设置成None

SSL证书验证

  1. r = requests.get(url, verify=True) #开启证书验证

代理

  1. proxy = {'https': 'http://1.1.1.1:1111'}
  2. r = requests.post(url, proxies=proxy)
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注