Python requests库(二)

本文是Python requests库 (一)的后续,简单的介绍一下python第三方库 requests的一些简单的高级用法

本文首发于伊洛的个人博客:https://yiluotalk.com,欢迎关注并查看更多内容!!!

1. 文件上传
  • 通过request 上传一张photo
>>> import requests
>>> files = {'file':open('photo.jpg', 'rb')}
>>> r = requests.post('http://httpbin.org/post', files=files)
>>> print(r.text)
2. 获取 cookies
  • 访问知乎,然后获取cookies
>>> import requests
>>> r = requests.get("https://www.zhihu.com")
>>> print(r.cookies)
<RequestsCookieJar[<Cookie _xsrf=kpkc08adzcWJ2IZXxQAh85ujvtFiPArj for .zhihu.com/>]>
3. 会话维持
  • 如果需要访问的网页是需要登陆之后再使用的话就需要会话维持,一般在做接口自动化测试或者爬虫一些网站的时候,都是需要保持登录态
>>> import requests
>>> requests.get("http://httpbin.org/cookies/set/number/123456789")
<Response [200]>
>>> r = requests.get('http://httpbin.org/cookies')
>>> print(r.text)
{
  "cookies": {}
}
  • 上面并没有获取到cookies ,因为request设置cookie和后来的获取cookie相当于打开了两个浏览器
  • 如何解决这个问题,我们需要用到session ,这是在自动化接口测试或者爬虫中经常会被用到,有必要掌握
>>> import requests
>>> s = requests.Session()
>>> s.get('http://httpbin.org/cookies/set/number/123456789')
<Response [200]>
>>> r = s.get('http://httpbin.org/cookies')
>>> print(r.text)
{
  "cookies": {
    "number": "123456789"
  }
}
  • 以上,成功保持会话
4. SSL证书验证
  • 你肯定会有过类似的这种经历,当你打开一个网页的时候会提示你访问的地址不安全,这是由于https协议需要证书
  • 程序访问后一定会报出 SSLError错误
  • 解决方式
    1.设置verify = False
    2.传入证书 cert="你的证书"
5.代理设置
  • 爬虫的时候通常会设置代理
  • 方式在proxies=输入你的代理
6. 超时设置
  • 限制应答时间,比如访问伊洛的个人博客https://yiluotalk.com ,设置超时1s
# 伊洛Yiluo
# https://yiluotalk.com
>>> import requests
>>> r = requests.get("https://yiluotalk.com", timeout = 1)
>>> print(r.status_code)
200
7.身份认证
  • 一些网站当你访问的时候首先会让你登录做验证
  • 解决方式,传入auth 参数 auth=HTTPBasicAuth('user', 'password')

在这里插入图片描述

关注公众号获取更多内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值