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 相关文章推荐
vc6编写python扩展的方法分享
Jan 17 Python
Tornado服务器中绑定域名、虚拟主机的方法
Aug 22 Python
python用户管理系统的实例讲解
Dec 23 Python
python psutil库安装教程
Mar 19 Python
Python使用wget实现下载网络文件功能示例
May 31 Python
Python 利用切片从列表中取出一部分使用的方法
Feb 01 Python
python字符串切割:str.split()与re.split()的对比分析
Jul 16 Python
python 实现将list转成字符串,中间用空格隔开
Dec 25 Python
如何在Win10系统使用Python3连接Hive
Oct 15 Python
python更新数据库中某个字段的数据(方法详解)
Nov 18 Python
pycharm 实现光标快速移动到括号外或行尾的操作
Feb 05 Python
Python实现DBSCAN聚类算法并样例测试
Jun 22 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
php expects parameter 1 to be resource, array given 错误
2011/03/23 PHP
PHP 获取文件权限函数介绍
2013/07/11 PHP
PHP实现算式验证码和汉字验证码实例
2015/03/09 PHP
PHP使用new StdClass()创建空对象的方法分析
2017/06/06 PHP
XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)
2011/01/12 Javascript
浅说js变量
2011/05/25 Javascript
禁止空格提交表单的js代码
2013/11/17 Javascript
node.js中的fs.unlink方法使用说明
2014/12/15 Javascript
js实现的二级横向菜单条实例
2015/08/22 Javascript
详解JavaScript的Date对象(制作简易钟表)
2020/04/07 Javascript
使用HTML5+Boostrap打造简单的音乐播放器
2016/08/05 Javascript
利用node实现一个批量重命名文件的函数
2017/12/21 Javascript
JS div匀速移动动画与变速移动动画代码实例
2019/03/26 Javascript
javascript防抖函数debounce详解
2019/06/11 Javascript
利用JavaScript的Map提升性能的方法详解
2019/08/14 Javascript
nodejs简单抓包工具使用详解
2019/08/23 NodeJs
基于VSCode调试网页JavaScript代码过程详解
2020/07/20 Javascript
python中的函数用法入门教程
2014/09/02 Python
几个提升Python运行效率的方法之间的对比
2015/04/03 Python
黑科技 Python脚本帮你找出微信上删除你好友的人
2016/01/07 Python
Python实现SSH远程登陆,并执行命令的方法(分享)
2017/05/08 Python
Python 自动登录淘宝并保存登录信息的方法
2019/09/04 Python
sklearn-SVC实现与类参数详解
2019/12/10 Python
Python 实现递归法解决迷宫问题的示例代码
2020/01/12 Python
五年级语文教学反思
2014/01/30 职场文书
征婚广告词
2014/03/17 职场文书
团日活动总结范文
2014/04/25 职场文书
淘宝好评语大全
2014/05/05 职场文书
完整版商业计划书
2014/09/15 职场文书
事业单位人员的自我评价范文
2014/09/21 职场文书
2015年药店工作总结
2015/04/20 职场文书
十七岁的单车观后感
2015/06/12 职场文书
opencv读取视频并保存图像的方法
2021/06/04 Python
Axios取消重复请求的方法实例详解
2021/06/15 Javascript
Redis三种集群模式详解
2021/10/05 Redis
Golang 遍历二叉树
2022/04/19 Golang