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中关于日期时间处理的问答集锦
Mar 08 Python
python实现上传样本到virustotal并查询扫描信息的方法
Oct 05 Python
一步步解析Python斗牛游戏的概率
Feb 12 Python
python笔记:mysql、redis操作方法
Jun 28 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
Dec 08 Python
VScode编写第一个Python程序HelloWorld步骤
Apr 06 Python
Python中的引用知识点总结
May 20 Python
Python中的 ansible 动态Inventory 脚本
Jan 19 Python
浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
Jun 12 Python
python实现PDF中表格转化为Excel的方法
Jun 16 Python
python中pivot()函数基础知识点
Jan 03 Python
python3定位并识别图片验证码实现自动登录功能
Jan 29 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
mysql 字段类型说明
2007/04/27 PHP
php计算当前程序执行时间示例
2014/04/24 PHP
Ubuntu中搭建Nginx、PHP环境最简单的方法
2015/03/05 PHP
双冒号 ::在PHP中的使用情况
2015/11/05 PHP
php获取图片信息的方法详解
2015/12/10 PHP
php写入mysql中文乱码的实例解决方法
2019/09/17 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
网页javascript精华代码集
2007/01/24 Javascript
国外Lightbox v2.03.3 最新版 下载
2007/10/17 Javascript
JS实现判断滚动条滚到页面底部并执行事件的方法
2014/12/18 Javascript
Javascript动态创建表格及删除行列的方法
2015/05/15 Javascript
JQuery实现级联下拉框效果实例讲解
2015/09/17 Javascript
AngularJS出现$http异步后台无法获取请求参数问题的解决方法
2016/11/03 Javascript
详解Angular2响应式表单
2017/06/14 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
jQuery 禁止表单用户名、密码自动填充功能
2017/10/30 jQuery
ES6中Set和Map用法实例详解
2020/03/02 Javascript
Echarts.js无法引入问题解决方案
2020/10/30 Javascript
nuxt 路由、过渡特效、中间件的实现代码
2020/11/06 Javascript
spyder常用快捷键(分享)
2017/07/19 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
2019/09/24 Python
使用Python将Exception异常错误堆栈信息写入日志文件
2020/04/08 Python
Chemist Warehouse官方海外旗舰店:澳洲第一连锁大药房
2017/08/25 全球购物
澳大利亚最大的百货公司:Myer
2018/12/21 全球购物
Linux机考试题
2015/07/17 面试题
实习生自荐信范文分享
2013/11/27 职场文书
《春晓》教学反思
2014/04/20 职场文书
道路施工安全责任书
2014/07/24 职场文书
国际贸易本科毕业生求职信
2014/09/26 职场文书
党员进社区活动总结
2015/05/07 职场文书
仙境之桥观后感
2015/06/16 职场文书
关于环保的宣传稿
2015/07/23 职场文书
大学毕业典礼致辞
2015/07/29 职场文书
房产遗嘱范本
2015/08/06 职场文书
区域销售大会开幕词
2016/03/04 职场文书
jdbc使用PreparedStatement批量插入数据的方法
2021/04/27 MySQL