http请求 request失败自动重新尝试代码示例


Posted in Python onJanuary 25, 2018

本文研究的主要是http请求 request失败自动重新尝试的一个例子,具体如下。

需求

最近开发一个项目,要实现的一个场景是对于某个http请求,如果请求失败,需要再自动尝试几次,并记录异常原因便于排查

代码实现

#http连接有问题时候,自动重连
def conn_try_again(function):
 RETRIES = 0
 #重试的次数
 count = {"num": RETRIES}
 def wrapped(*args, **kwargs):
  try:
   return function(*args, **kwargs)
  except Exception, err:
   if count['num'] < 2:
    count['num'] += 1
    return wrapped(*args, **kwargs)
   else:
    raise Exception(err)
 return wrapped

@conn_try_again
def http_request(session, method, url, data, header = header):
  try:
    if method == 'GET':
      r = session.get(url, data = data, headers = header)
      return r
    elif method == 'POST':
      r = session.post(url, data = data, headers = header)
      return r
    else:
      return None
  except Exception as e:
    logging.exception('[online_statistics] http request connection error %s'% e)

总结

以上就是本文关于http请求 request失败自动重新尝试代码示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
mysql 之通过配置文件链接数据库
Aug 12 Python
Python中的上下文管理器和with语句的使用
Apr 17 Python
10分钟教你用Python实现微信自动回复功能
Nov 28 Python
使用k8s部署Django项目的方法步骤
Jan 14 Python
python3.x提取中文的正则表达式示例代码
Jul 23 Python
Python使用matplotlib 模块scatter方法画散点图示例
Sep 27 Python
在Django中预防CSRF攻击的操作
Mar 13 Python
k-means 聚类算法与Python实现代码
Jun 01 Python
Python参数传递及收集机制原理解析
Jun 05 Python
Python3与fastdfs分布式文件系统如何实现交互
Jun 23 Python
利用Python的folium包绘制城市道路图的实现示例
Aug 24 Python
python实现双向链表原理
May 25 Python
Python实现PS图像调整颜色梯度效果示例
Jan 25 #Python
Python使用requests发送POST请求实例代码
Jan 25 #Python
python使用pandas实现数据分割实例代码
Jan 25 #Python
python实现闹钟定时播放音乐功能
Jan 25 #Python
python实现壁纸批量下载代码实例
Jan 25 #Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
Jan 24 #Python
Python动刷新抢12306火车票的代码(附源码)
Jan 24 #Python
You might like
PHP 一个页面执行时间类代码
2010/03/05 PHP
Yii2实现上下联动下拉框功能的方法
2016/08/10 PHP
php实现头像上传预览功能
2017/04/27 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
浅谈laravel数据库查询返回的数据形式
2019/10/21 PHP
js url传值中文乱码之解决之道
2009/11/20 Javascript
JavaScript随机排序(随即出牌)
2010/09/17 Javascript
jQuery.ajax 用户登录验证代码
2010/10/29 Javascript
JavaScript的Module模式编程深入分析
2013/08/13 Javascript
js 浏览本地文件夹系统示例代码
2013/10/24 Javascript
js+HTML5实现视频截图的方法
2015/06/16 Javascript
jQuery实现网页抖动的菜单抖动效果
2015/08/07 Javascript
JS实现仿雅虎首页快捷登录入口及导航模块效果
2015/09/19 Javascript
深入浅析AngularJS中的module(模块)
2016/01/04 Javascript
jQuery.form插件的使用及跨域异步上传文件
2016/04/27 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
2016/04/29 Javascript
JS实现简单的右下角弹出提示窗口完整实例
2016/06/21 Javascript
微信小程序蓝牙连接小票打印机实例代码详解
2019/06/03 Javascript
微信小程序文章详情页跳转案例详解
2019/07/09 Javascript
VSCode写vue项目一键生成.vue模版,修改定义其他模板的方法
2020/04/17 Javascript
[01:45]DOTA2众星出演!DSPL刀塔次级职业联赛宣传片
2014/11/21 DOTA
基于python3 类的属性、方法、封装、继承实例讲解
2017/09/19 Python
django ajax json的实例代码
2018/05/29 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
详解Python用户登录接口的方法
2019/04/17 Python
Python分割训练集和测试集的方法示例
2019/09/19 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
2020/07/23 Python
input file上传文件样式支持html5的浏览器解决方案
2012/11/14 HTML / CSS
HTML5语音识别标签写法附图
2013/11/18 HTML / CSS
萨克斯第五大道的折扣店:Saks Fifth Avenue OFF 5TH
2016/08/25 全球购物
Julep官网:美容产品和指甲油
2017/02/25 全球购物
幼儿园元旦活动感言
2014/03/02 职场文书
奖励申请报告范文
2015/05/15 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
html5调用摄像头截图功能
2022/01/18 Javascript
vue如何实现关闭对话框后刷新列表
2022/04/08 Vue.js