Python requests模块安装及使用教程图解
作者:笔筒里的猫 时间:2022-08-10 15:29:45
requests模块是一个用于访问网络的模块,其实类似的模块还有很多,不在一一在这里解释。这么多的相似的模块为什么都说只有这个好用呢,因为他人性化。如果你学过urllib之类的模块的话,比如urllib,对比一下就很清楚了。
1、requests模块的安装
requests模块的安装非常简单,使用pip install requests命令即可安装,我是在python的Terminal中直接安装的,大家也可以在cmd命令窗口中进行安装。
2、requests模块的导入
导入requests模块时,直接使用import requests 命令进行导入即可,导入后就可以使用啦。
3、requests模块的使用
在上面的requests导入中,已经举了一个最简单的requests使用的例子,在实际的接口自动化测试中,我们往往需要传递一些参数,并获取响应的返回结果,下面我们将更详细的讲解requests的使用。
1)requests模块的简单使用
requests提供了如下几种HTTP请求方式:GET、POST、HEAD、OPTIONS、PUT、PATCH、DELETE,我们举几个比较简单的例子,示范代码如下:
2)requests模块发送请求时传入参数
上面我们介绍了requests中常用的几种请求方式,由于在工作中我们比较常用的是post和get方式进行请求,这里我们只会为大家讲解post和get两种请求方式,其他的内容如果有需要请大家自行补充。
get请求方式传入参数
相信了解过http的小伙伴们都知道,get请求方式的参数一般都是写在url之后,以问号与域名进行分隔,多个参数之间使用&符号进行拼接连接,下面我们为大家举一个简单的例子来进行说明:
post请求方式传入参数
在前面的学习中我们已经了解到post请求多用于提交数据,提交的数据中可能会包含如密码、身份证号、验证码等私密信息,这些信息如果直接拼接在url中是不安全的,那么post请求是怎样传递参数的呢,post请求传递参数的方式有很多种,这里我们只介绍最常用的三种:
--application/x-www-form-urlencoded,form表单默认的数据格式,提交的数据按照 key1=val1&key2=val2 的方式进行编码,key 和 val 都进行了 URL 转码。大部分服务端语言都对这种方式有很好的支持。比如下面的http请求格式:
--application/json,现在越来越多的人把它作为请求头,用来告诉服务端消息主体是序列化后的 JSON 字符串。服务端语言也有很多函数去解析JSON,使用JSON可以支持更加复杂的结构化数据。比如下面的http请求格式:
--multipart/form-data,对用于在表单中上传文件时,也可以上传普通数据,只需要让form的enctype等于multipart/form-data就可以了。比如下面的http请求格式:
下面我们来详细了解一下使用requests来传递这三种类型的参数:
--以form表单形式发送post请求,具体代码实现如下所示:
-- 以json格式发送post请求,具体代码实现如下所示:
--以multipart形式发送post请求,具体代码实现如下所示:
4、封装一个自己的requests模块
在自动化测试的过程中,我们会对多个接口进行测试,而目前我接触到的几乎所有接口都是返回的json格式的数据,所以封装了一个模块,返回json格式的数据,方便在后面进行调用,现在我把代码粘在下面,有兴趣的小伙伴们可以参考:
来源:https://www.cnblogs.com/Cactus-xiaot/p/13081743.html
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python走楼梯问题解决方法示例
python scipy求解非线性方程的方法(fsolve/root)
![](https://img.aspxhome.com/file/2023/5/92215_0s.jpg)
通过python检测字符串的字母
asp如何终止浏览器的 CAHCE 页面?
PHP字符编码问题之GB2312 VS UTF-8解决方法
![](https://img.aspxhome.com/file/2023/8/132498_0s.png)
节日快乐! Python画一棵圣诞树送给你
![](https://img.aspxhome.com/file/2023/6/92306_0s.jpg)
使用python实现回文数的四种方法小结
在Python中append以及extend返回None的例子
![](https://img.aspxhome.com/file/2023/1/97201_0s.jpg)
MSSQL自动重建出现碎片的索引的方法分享
Django如何简单快速实现PUT、DELETE方法
PHP getallheaders无法获取自定义头(headers)的问题
![](https://img.aspxhome.com/file/2023/6/132796_0s.png)
php防止sql注入代码实例
MySQL主从复制的原理及配置方法(比较详细)
基于PHP的登录和注册的功能的实现
![](https://img.aspxhome.com/file/2023/2/132792_0s.png)
盘点十个超级好用的高级Python脚本
![](https://img.aspxhome.com/file/2023/0/69630_0s.png)
python添加模块搜索路径方法
Python学习笔记之字符串和字符串方法实例详解
![](https://img.aspxhome.com/file/2023/0/126910_0s.png)
Vue.js实现多条件筛选、搜索、排序及分页的表格功能
![](https://img.aspxhome.com/file/2023/7/130157_0s.jpg)
Python调用API接口实现人脸识别
![](https://img.aspxhome.com/file/2023/4/86174_0s.png)