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中的RSS处理
Apr 13 Python
Python的Django框架安装全攻略
Jul 15 Python
python中使用序列的方法
Aug 03 Python
利用Python批量生成任意尺寸的图片
Aug 29 Python
Django中的CBV和FBV示例介绍
Feb 25 Python
python获取酷狗音乐top500的下载地址 MP3格式
Apr 17 Python
python实现俄罗斯方块游戏
Mar 25 Python
在Python中定义一个常量的方法
Nov 10 Python
python生成特定分布数的实例
Dec 05 Python
使用Python操作ArangoDB的方法步骤
Feb 02 Python
用 Python 制作地球仪的方法
Apr 24 Python
Python系统公网私网流量监控实现流程
Nov 23 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下HTTP Response中的Chunked编码实现方法
2008/11/19 PHP
浏览器预览PHP文件时顶部出现空白影响布局分析原因及解决办法
2013/01/11 PHP
PHP命名空间namespace用法实例分析
2016/09/27 PHP
详解如何实现Laravel的服务容器的方法示例
2019/04/15 PHP
Hutia 的 JS 代码集
2006/10/24 Javascript
javascript 一些用法小结
2009/09/11 Javascript
IE6下focus与blur错乱的解决方案
2011/07/31 Javascript
JavaScript 和 Java 的区别浅析
2013/07/31 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
JavaScript中判断对象类型的几种方法总结
2013/11/11 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
2013/12/14 Javascript
JQuery教学之性能优化
2014/05/14 Javascript
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
jQuery给动态添加的元素绑定事件的方法
2015/03/09 Javascript
javascript常用正则表达式汇总
2015/07/31 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
2016/08/11 Javascript
javascript数据类型详解
2017/02/07 Javascript
mui上拉加载功能实例详解
2017/04/13 Javascript
Vue组件之自定义事件的功能图解
2018/02/01 Javascript
ckeditor一键排版功能实现方法分析
2020/02/06 Javascript
javascript中call,apply,bind的区别详解
2020/12/11 Javascript
Python机器学习之决策树算法实例详解
2017/12/06 Python
win10下tensorflow和matplotlib安装教程
2018/09/19 Python
Python实现的合并两个有序数组算法示例
2019/03/04 Python
python写程序统计词频的方法
2019/07/29 Python
python多线程分块读取文件
2019/08/29 Python
pip 安装库比较慢的解决方法(国内镜像)
2019/10/06 Python
Elasticsearch py客户端库安装及使用方法解析
2020/09/14 Python
HTML5中5个简单实用的API(第二篇,含全屏、可见性、拍照、预加载、电池状态)
2014/05/07 HTML / CSS
瑞典多品牌连锁店:Johnells
2021/01/13 全球购物
保安公司服务承诺书
2014/05/28 职场文书
redis 限制内存使用大小的实现
2021/05/08 Redis
Redis高并发缓存架构性能优化
2022/05/15 Redis
SQL Server中锁的用法
2022/05/20 SQL Server
MYSQL事务的隔离级别与MVCC
2022/05/25 MySQL
JS实现简单的九宫格抽奖
2022/06/28 Javascript