美文网首页
python第三方库之Requests模块(一)

python第三方库之Requests模块(一)

作者: 卡几嘛_45a9 | 来源:发表于2020-06-17 22:34 被阅读0次

    最近在接触python实现接口自动化测试,然后也在接触网络爬虫,因为这两个工作,所以接触requests模块比较多,想要慢慢的做一下总结,不断的来提升自己。

    requests模块是一个用于访问网络的python的第三方库,python中类似的库有很多,但是requests的API使用更加友好。


    一 requests模块优点

    1.因为是基于urllib2实现的第三方库 ,所以它包含了urllib2的所有特性

    2.支持HTTP持久连接和HTTP Client连接池

    3.支持使用session保持一次用户会话(从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开连接),session会保持这一次会话中的cookie是一致的

    4.支持上传文件

    5.支持自动确定响应内容的编码

    6.支持国际化的URL和POST数据自动编码

    7.支持https的SSL证书请求校验,也可以跳过校验

    二 Reuqest模块的使用

    我以前一直觉得,学习一个新的东西,你必须把它学透了你才能去用它用的合适。事实也是如此,单有些知识是需要我们在使用的过程中去掌握和理解的。另外,学习语言使用语言,需要培养除一种合适自己的学习能力。


    1.发送请求

    Requests发送网络请求非常简单,我们直接调用提供的方法即可,直接看一下可调用的请求方法源码,可以明确的知道HTTP对应的请求方法的在使用requests模块时怎么调用。

    全部http请求方法

    以上是全部请求方法的函数名+参数截图,我们一起来看一下get方法的源码,也很好理解。

    get方法源码实例

    再来看一个发送请求的实例

    发送请求的实例

    没错,发送请求就是这么简单,requests模块不愧是非转基因,适应人类的第三方库。

    2.传递请求参数

    请求参数分类:URL参数、请求主体参数(form-data类型、json类型、file类型等等)

    - URL参数(Query String Parameters参数)传递

    注:一般用于GET请求,以URL string的形式传递

    URL参数传递方式

    看一下请求发送的url,可以看到URL已经被正确编码

    URL参数传递实例

    - 请求体参数(Requests Body)

    注:一般用于POST请求,可以使用Content-Type来指定不同参数类型

    比较常见的参数类型:application/x-www-form-urlencodedmultipart/form-dataapplication/jsontext/xml

    requsets.post(url)方法提供传参Requests Body中对应的数据类型,看一下源码

    data:字典类型,可以传递请求主体参数中:form表单类型、字节类型、文件对象的数据

    json:json数据,传递请求主体参数为json数据格式的数据

    **kwargs:可选关键字参数,可以传递url参数,通过params={}

    data传参


    3.响应内容

    我们在发起网络请求时,要关注的除了请求url、请求方式、请求参数以外,最重要的还有响应内容,比如说响应状态码、响应主体内容等,requests模块的响应内容,我们直接看一下结果树:

    相关文章

      网友评论

          本文标题:python第三方库之Requests模块(一)

          本文链接:https://www.haomeiwen.com/subject/xydqxktx.html