python中requests小技巧

yipeiwu_com5年前Python基础

关于  Python requests ,在使用中,总结了一些小技巧把,记录下。

1:保持请求之间的Cookies,我们可以这样做。

2:请求时,会加上headers,一般我们会写成这样

唯一不便的是之后的代码每次都需要这么写,代码显得臃肿,所以我们可以这样:

3:默认requests请求失败后不会重试,但是我们跑case时难免遇到一些网络或外部原因导致case失败,我们可以在Session实例上附加HTTPAdapaters 参数,增加失败重试次数。

这样,之后的请求,若失败,重试3次。

4:重定向

网络请求中可能会遇到重定向,我们需要一次处理一个请求,可以把重定向禁止。

5:post请求提交json格式数据时,一般先要把python对象转换成json对象。可能很多时候是这样写:

其实post有一个默认参数json,可以直接简写成:

6:写接口请求,debug时,会需要看下代码请求的详细信息,当然我们可以使用fiddler来查看,其实我们自己也可以在代码这样获取debug信息 *

7:使用grequests实现异步请求。

pip install grequests

8:发送自定义cookies

我们使用Session实例来保持请求之间的cookies,但是有些特殊情况,需要使用自定义的cookies

我们可以这样

9:需求确定前后端并行设计时,这时 测试 并没有办法调用接口,如何做接口测试呢?我们可以使用mock或者是httpretty

详细使用可以查看API_DOC

10:统计一个API请求花费的时间,我们可以使用如下方法

11:设置请求超时

关于 Python ,requests的小技巧,就是这些。

相关文章

pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)

pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)

本机中原pyinstaller版本为3.5版本,本打算通过 pip install --upgrade pyinstaller进行升级,竟然报错,后面卸载再重新安装也一样报错,没办法看来...

Python时间序列缺失值的处理方法(日期缺失填充)

前言 因近期进行时间序列分析时遇到了数据预处理中的缺失值处理问题,其中日期缺失和填充在网上没有找到较好较全资料,耗费了我一晚上工作时间,所以下面我对这次时间序列缺失值处理学习做了以下小...

如何基于python实现脚本加密

如何基于python实现脚本加密

这篇文章主要介绍了如何基于python实现脚本加密,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 from pathlib im...

python 查找文件名包含指定字符串的方法

python 查找文件名包含指定字符串的方法

编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出绝对路径。 import os class SearchFile(object): de...

scrapy-redis源码分析之发送POST请求详解

1 引言 这段时间在研究美团爬虫,用的是scrapy-redis分布式爬虫框架,奈何scrapy-redis与scrapy框架不同,默认只发送GET请求,换句话说,不能直接发送POST...