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 相关文章推荐
python3.5 + PyQt5 +Eric6 实现的一个计算器代码
Mar 11 Python
Python中关键字nonlocal和global的声明与解析
Mar 12 Python
python中利用Future对象回调别的函数示例代码
Sep 07 Python
pandas.DataFrame.to_json按行转json的方法
Jun 05 Python
Python PIL读取的图像发生自动旋转的实现方法
Jul 05 Python
Python多叉树的构造及取出节点数据(treelib)的方法
Aug 09 Python
python处理自动化任务之同时批量修改word里面的内容的方法
Aug 23 Python
python网络编程之多线程同时接受和发送
Sep 03 Python
对tensorflow 中tile函数的使用详解
Feb 07 Python
Python3.x+pyqtgraph实现数据可视化教程
Mar 14 Python
Python开发.exe小工具的详细步骤
Jan 27 Python
人工智能深度学习OpenAI baselines的使用方法
May 20 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分页实例代码分享
2011/07/28 PHP
探讨Hessian在PHP中的使用分析
2013/06/13 PHP
php缓冲输出实例分析
2015/01/05 PHP
php实现算术验证码功能
2018/12/05 PHP
javascript跑马灯悬停放大效果实现代码
2012/12/12 Javascript
javascript中验证大写字母、数字和中文
2014/01/15 Javascript
js动态往表格的td中添加图片并注册事件
2014/06/12 Javascript
js拖拽的原型声明和用法总结
2016/04/04 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
2017/07/03 Javascript
[js高手之路]从原型链开始图解继承到组合继承的产生详解
2017/08/28 Javascript
[js高手之路]单例模式实现模态框的示例
2017/09/01 Javascript
Vue使用json-server进行后端数据模拟功能
2018/04/17 Javascript
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
JS+php后台实现文件上传功能详解
2019/03/02 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
[01:12:44]VG vs Mineski Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
python计算圆周长、面积、球体体积并画出圆
2014/04/08 Python
python 文件操作api(文件操作函数)
2016/08/28 Python
利用Python找出序列中出现最多的元素示例代码
2017/12/08 Python
浅谈Python爬虫基本套路
2019/03/25 Python
在Django model中设置多个字段联合唯一约束的实例
2019/07/17 Python
关于python3中setup.py小概念解析
2019/08/22 Python
Python虚拟环境venv用法详解
2020/05/25 Python
你可能不熟练的十个前端HTML5经典面试题
2018/07/03 HTML / CSS
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
EJB2和EJB3在架构上的不同点
2014/09/29 面试题
应届生船舶驾驶求职信
2013/10/19 职场文书
管理信息系学生的自我评价
2014/01/11 职场文书
高级销售求职信
2014/02/21 职场文书
如何写自我评价?自我评价写什么好?
2014/03/14 职场文书
纪检干部对照检查材料
2014/08/22 职场文书
2014年乡镇人大工作总结
2014/11/25 职场文书
城管年度个人总结
2015/02/28 职场文书
解除租赁合同协议书
2016/03/21 职场文书
高考升学宴主持词
2019/06/21 职场文书
详解Python牛顿插值法
2021/05/11 Python