Python requests模块安装及使用教程图解


Posted in Python onJune 30, 2020

requests模块是一个用于访问网络的模块,其实类似的模块还有很多,不在一一在这里解释。这么多的相似的模块为什么都说只有这个好用呢,因为他人性化。如果你学过urllib之类的模块的话,比如urllib,对比一下就很清楚了。

1、requests模块的安装

requests模块的安装非常简单,使用pip install requests命令即可安装,我是在python的Terminal中直接安装的,大家也可以在cmd命令窗口中进行安装。

Python requests模块安装及使用教程图解

2、requests模块的导入

导入requests模块时,直接使用import requests 命令进行导入即可,导入后就可以使用啦。

Python requests模块安装及使用教程图解

3、requests模块的使用

在上面的requests导入中,已经举了一个最简单的requests使用的例子,在实际的接口自动化测试中,我们往往需要传递一些参数,并获取响应的返回结果,下面我们将更详细的讲解requests的使用。

1)requests模块的简单使用

requests提供了如下几种HTTP请求方式:GET、POST、HEAD、OPTIONS、PUT、PATCH、DELETE,我们举几个比较简单的例子,示范代码如下:

Python requests模块安装及使用教程图解

2)requests模块发送请求时传入参数

上面我们介绍了requests中常用的几种请求方式,由于在工作中我们比较常用的是post和get方式进行请求,这里我们只会为大家讲解post和get两种请求方式,其他的内容如果有需要请大家自行补充。

get请求方式传入参数

相信了解过http的小伙伴们都知道,get请求方式的参数一般都是写在url之后,以问号与域名进行分隔,多个参数之间使用&符号进行拼接连接,下面我们为大家举一个简单的例子来进行说明:

Python requests模块安装及使用教程图解

post请求方式传入参数

在前面的学习中我们已经了解到post请求多用于提交数据,提交的数据中可能会包含如密码、身份证号、验证码等私密信息,这些信息如果直接拼接在url中是不安全的,那么post请求是怎样传递参数的呢,post请求传递参数的方式有很多种,这里我们只介绍最常用的三种:

--application/x-www-form-urlencoded,form表单默认的数据格式,提交的数据按照 key1=val1&key2=val2 的方式进行编码,key 和 val 都进行了 URL 转码。大部分服务端语言都对这种方式有很好的支持。比如下面的http请求格式:

Python requests模块安装及使用教程图解

--application/json,现在越来越多的人把它作为请求头,用来告诉服务端消息主体是序列化后的 JSON 字符串。服务端语言也有很多函数去解析JSON,使用JSON可以支持更加复杂的结构化数据。比如下面的http请求格式:

Python requests模块安装及使用教程图解

--multipart/form-data,对用于在表单中上传文件时,也可以上传普通数据,只需要让form的enctype等于multipart/form-data就可以了。比如下面的http请求格式:

Python requests模块安装及使用教程图解

下面我们来详细了解一下使用requests来传递这三种类型的参数:

--以form表单形式发送post请求,具体代码实现如下所示:

Python requests模块安装及使用教程图解

-- 以json格式发送post请求,具体代码实现如下所示:

Python requests模块安装及使用教程图解

--以multipart形式发送post请求,具体代码实现如下所示:

Python requests模块安装及使用教程图解

4、封装一个自己的requests模块

在自动化测试的过程中,我们会对多个接口进行测试,而目前我接触到的几乎所有接口都是返回的json格式的数据,所以封装了一个模块,返回json格式的数据,方便在后面进行调用,现在我把代码粘在下面,有兴趣的小伙伴们可以参考:

Python requests模块安装及使用教程图解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现的几个常用排序算法实例
Jun 16 Python
Java Web开发过程中登陆模块的验证码的实现方式总结
May 25 Python
pycharm 主题theme设置调整仿sublime的方法
May 23 Python
Pandas GroupBy对象 索引与迭代方法
Nov 16 Python
梅尔频率倒谱系数(mfcc)及Python实现
Jun 18 Python
Python中新式类与经典类的区别详析
Jul 10 Python
详解Python 重学requests发起请求的基本方式
Feb 07 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
Jun 02 Python
Python3通过chmod修改目录或文件权限的方法示例
Jun 08 Python
高考考python编程是真的吗
Jul 20 Python
Python 多进程原理及实现
Dec 21 Python
Django扫码抽奖平台的配置过程详解
Jan 14 Python
在Tensorflow中实现leakyRelu操作详解(高效)
Jun 30 #Python
TensorFlow-gpu和opencv安装详细教程
Jun 30 #Python
tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
Jun 30 #Python
python 最简单的实现适配器设计模式的示例
Jun 30 #Python
Tensorflow--取tensorf指定列的操作方式
Jun 30 #Python
解决TensorFlow程序无限制占用GPU的方法
Jun 30 #Python
tensorflow 大于某个值为1,小于为0的实例
Jun 30 #Python
You might like
CodeIgniter使用smtp服务发送html邮件的方法
2015/06/10 PHP
srcElement表格样式
2006/09/03 Javascript
24款非常有用的 jQuery 插件分享
2011/04/06 Javascript
JQuery里选择超链接的实现代码
2011/05/22 Javascript
JavaScript实现点击按钮后变灰避免多次重复提交
2013/07/15 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
2014/02/24 Javascript
javascript函数中参数传递问题示例探讨
2014/07/31 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
2016/03/07 Javascript
详解JavaScript中的自定义事件编写
2016/05/10 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
2016/06/13 Javascript
JS实现的适合做faq或menu滑动效果示例
2016/11/17 Javascript
用headjs来管理和加载js 提高网站加载速度
2016/11/29 Javascript
JavaScript实现隐藏省略文字效果的方法
2017/04/27 Javascript
浅谈Vue的加载顺序探讨
2017/10/25 Javascript
vue解决跨域路由冲突问题思路解析
2017/11/03 Javascript
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
vue中使用elementUI组件手动上传图片功能
2019/12/13 Javascript
Vue实现计算器计算效果
2020/08/17 Javascript
[47:42]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:04:30]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python字符编码与函数的基本使用方法
2017/09/30 Python
python仿抖音表白神器
2019/04/08 Python
Python使用psutil获取进程信息的例子
2019/12/17 Python
如何更改 pandas dataframe 中两列的位置
2019/12/27 Python
Python argparse模块使用方法解析
2020/02/20 Python
jupyter note 实现将数据保存为word
2020/04/14 Python
美国著名的品牌折扣店:Burlington
2017/06/08 全球购物
波兰数码相机及配件网上商店: Cyfrowe.pl
2017/06/19 全球购物
.NET概念性的面试题
2012/02/29 面试题
2014年行政工作总结
2014/11/19 职场文书
2014年中班下学期工作总结
2014/12/11 职场文书
先进工作者推荐材料
2014/12/23 职场文书
学前班语言教学计划
2015/01/20 职场文书
《七律·长征》教学反思
2016/02/16 职场文书
golang DNS服务器的简单实现操作
2021/04/30 Golang
win10搭建配置ftp服务器的方法
2022/08/05 Servers