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+pygame简单画板实现代码实例
Dec 13 Python
python模仿网页版微信发送消息功能
Feb 24 Python
Pycharm配置远程调试的方法步骤
Dec 17 Python
Python数据抓取爬虫代理防封IP方法
Dec 23 Python
详解重置Django migration的常见方式
Feb 15 Python
python点击鼠标获取坐标(Graphics)
Aug 10 Python
Django 实现xadmin后台菜单改为中文
Nov 15 Python
Python实现AI换脸功能
Apr 10 Python
Python过滤序列元素的方法
Jul 31 Python
anaconda3安装及jupyter环境配置全教程
Aug 24 Python
python实现调用摄像头并拍照发邮箱
Apr 27 Python
python单元测试之pytest的使用
Jun 07 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
香妃
2021/03/03 冲泡冲煮
php在线打包程序源码
2008/07/27 PHP
php三维数组去重(示例代码)
2013/11/26 PHP
iis6手工创建网站后无法运行php脚本的解决方法
2017/06/08 PHP
怎么用javascript进行拖拽
2006/07/20 Javascript
返回对象在当前级别中是第几个元素的实现代码
2011/01/20 Javascript
jquery在项目中做复选框时遇到的一些问题笔记
2013/11/17 Javascript
js中的hasOwnProperty和isPrototypeOf方法使用实例
2014/06/06 Javascript
全面解析Javascript无限添加QQ好友原理
2016/06/15 Javascript
js 打开新页面在屏幕中间的实现方法
2016/11/02 Javascript
详谈JS中数组的迭代方法和归并方法
2017/08/11 Javascript
JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】
2017/09/28 Javascript
vue-cli项目中使用Mockjs详解
2018/05/14 Javascript
vue输入节流,避免实时请求接口的实例代码
2019/10/30 Javascript
微信小程序实现签字功能
2019/12/23 Javascript
JS数组转字符串实现方法解析
2020/09/04 Javascript
[02:40]DOTA2超级联赛专访430 从小就爱玩对抗性游戏
2013/06/18 DOTA
[06:07]DOTA2-DPC中国联赛 正赛 Ehome vs VG 选手采访
2021/03/11 DOTA
Python安装第三方库及常见问题处理方法汇总
2016/09/13 Python
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
Python3.遍历某文件夹提取特定文件名的实例
2018/04/26 Python
python计算列表内各元素的个数实例
2018/06/29 Python
Python爬虫小技巧之伪造随机的User-Agent
2018/09/13 Python
Python笔记之facade模式
2019/11/20 Python
基于plt.title无法显示中文的快速解决
2020/05/16 Python
浅谈Python 参数与变量
2020/06/20 Python
CSS中垂直居中的简单实现方法
2015/07/06 HTML / CSS
Radley英国官网:英国莱德利小狗包
2019/03/21 全球购物
Molton Brown美国官网:奢华美容、香水、沐浴和身体护理
2020/09/02 全球购物
汽修专业学生自我鉴定
2013/11/16 职场文书
英语专业学生的自我评价
2013/12/30 职场文书
大学生党员批评与自我批评范文
2014/10/14 职场文书
初中团委工作总结
2015/08/13 职场文书
2016年大学生实习单位评语
2015/12/01 职场文书
详解Apache SkyWalking 告警配置指南
2021/04/22 Servers
Linux安装Docker详细教程
2022/07/07 Servers