- 时间:2021-07-18 09:23 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:python中requests小技巧
关于 Python requests ,在使用中,总结了一些小技巧把,记录下。
1:保持请求之间的Cookies,我们可以这样做。
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090141_0_56698.png[/img]
2:请求时,会加上headers,一般我们会写成这样
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090141_1_95631.png[/img]
唯一不便的是之后的代码每次都需要这么写,代码显得臃肿,所以我们可以这样:
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090142_2_52724.png[/img]
3:默认requests请求失败后不会重试,但是我们跑case时难免遇到一些网络或外部原因导致case失败,我们可以在Session实例上附加HTTPAdapaters 参数,增加失败重试次数。
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090142_3_40997.png[/img]
这样,之后的请求,若失败,重试3次。
4:重定向
网络请求中可能会遇到重定向,我们需要一次处理一个请求,可以把重定向禁止。
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090142_4_77425.png[/img]
5:post请求提交json格式数据时,一般先要把python对象转换成json对象。可能很多时候是这样写:
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090143_5_32906.png[/img]
其实post有一个默认参数json,可以直接简写成:
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090143_6_4584.png[/img]
6:写接口请求,debug时,会需要看下代码请求的详细信息,当然我们可以使用fiddler来查看,其实我们自己也可以在代码这样获取debug信息 [i]*[/i]
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090144_7_9400.png[/img]
7:使用grequests实现异步请求。
pip install grequests
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090144_8_80097.png[/img]
8:发送自定义cookies
我们使用Session实例来保持请求之间的cookies,但是有些特殊情况,需要使用自定义的cookies
我们可以这样
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090145_9_19251.png[/img]
9:需求确定前后端并行设计时,这时 测试 并没有办法调用接口,如何做接口测试呢?我们可以使用mock或者是httpretty
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090145_10_86637.jpg[/img]
详细使用可以查看API_DOC
10:统计一个API请求花费的时间,我们可以使用如下方法
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090145_11_74023.png[/img]
11:设置请求超时
[img]http://img.1sucai.cn/uploads/article/2018010709/20180107090146_12_31288.png[/img]
关于 Python ,requests的小技巧,就是这些。