requests库

        Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib 更加 Pythoner。更重要的一点是它支持 Python3 

(功能特性:

            Keep-Alive & 连接池

            国际化域名和 URL

            带持久 Cookie 的会话

            浏览器式的 SSL 认证

            自动内容解码

            基本/摘要式的身份认证

            优雅的 key/value Cookie

            自动解压

            Unicode 响应体

            HTTP(S) 代理支持

            文件分块上传

            流下载

            连接超时

            分块请求

            支持 .netrc

(一)请求方法

            requests.requests.get('http://www.baidu.com')#GET请求

            requests.post(“http://httpbin.org/post”) #POST请求

            requests.put(“http://httpbin.org/put”) #PUT请求

            requests.delete(“http://httpbin.org/delete”) #DELETE请求

            requests.head(“http://httpbin.org/get”) #HEAD请求

            requests.options(“http://httpbin.org/get”) #OPTIONS请求

            ps:web一般只支持 GET 和 POST,有一些还支持 HEAD 方法。

                requests.get('网址', params={'wd': 'python'})    #GET参数实例

                requests.post('网址', data={'username': 'user'})    #POST参数实例


 (二)  传递URL参数

     传递URL参数也不用再像urllib中那样需要去拼接URL,而是简单的,构造一个字典,并在请求时将其传递给params参数

        有时候会遇到相同参数但是会有不同的值但是Python字典不支持重名,可以使用列表把值装进去


(二)伪装请求头部  


(三)设置代理

            当我们需要使用代理时,同样构造代理字典,传递给proxies参数


(四)重定向

        在网络请求中,我们常常会遇到状态码是3开头的重定向问题,在Requests中是默认开启允许重定向的,即遇到重定向时,会自动继续访问。


(五)禁止证书验证

            有时候我们使用了抓包工具,这个时候由于抓包工具提供的证书并不是由受信任的数字证书颁发机构颁发的,所以证书的验证会失败,所以我们就需要关闭证书验证。在请求的时候把verify参数设置为False就可以关闭证书验证了。

关闭验证后会有一个警告
使用此方法关闭警告

(六)设置访问超时

        设置访问超时,设置timeout参数即可。

   (七)响应方法


(八)会话

        在Requests中,实现了Session(会话)功能,当我们使用Session时,能够像浏览器一样,在没有关闭关闭浏览器时,能够保持住访问的状态。这个功能常常被我们用于登陆之后的数据获取,使我们不用再一次又一次的传递cookies。

首先我们需要去生成一个Session对象,然后用这个Session对象来发起访问,发起访问的方法与正常的请求是一摸一样的。

同时,需要注意的是,如果是我们在get()方法中传入headers和cookies等数据,那么这些数据只在当前这一次请求中有效。如果你想要让一个headers在Session的整个生命周期内都有效的话,需要用以下的方式来进行设置


官方文档:

requests的具体安装过程请看:http://docs.python-requests.org/en/latest/user/install.html#install

requests的官方指南文档:http://docs.python-requests.org/en/latest/user/quickstart.html

requests的高级指南文档:http://docs.python-requests.org/en/latest/user/advanced.html#advanced

requests的中文文档:http://docs.python-requests.org/zh_CN/latest/

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多 因为是第三方库,所以使用...
    朝畫夕拾阅读 1,212评论 0 8
  • 上一篇:8.Urllib库基本使用下一篇:10.正则表达式基础 requests是python实现的最简单易用的H...
    在努力中阅读 3,389评论 2 11
  • 如果你把上篇多线程和多进程的文章搞定了,那么要恭喜你了 。你编写爬虫的能力上了一个崭新的台阶。不过,我们还不能沾沾...
    猴哥爱读书阅读 3,390评论 2 31
  • 古都日记 兰卡旅行,第一站是阿努拉德普勒,是兰卡最早的古都,在这里持续了1000多年的繁荣。 阿努火车站比起科伦...
    厨房小贼阅读 354评论 0 0
  • 今天是社团改革后的第一次活动,我参加了唐正明老师的文学社。走进教室,见学生满座,颇为高兴,竟有这么多学生喜欢作文。...
    47bc65e8aed5阅读 326评论 0 8