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 相关文章推荐
python读写ini文件示例(python读写文件)
Mar 25 Python
Python读写Excel文件方法介绍
Nov 22 Python
Python3实现的画图及加载图片动画效果示例
Jan 19 Python
python按照多个条件排序的方法
Feb 08 Python
djang常用查询SQL语句的使用代码
Feb 15 Python
python绘制漏斗图步骤详解
Mar 04 Python
Python pip替换为阿里源的方法步骤
Jul 02 Python
对于Python深浅拷贝的理解
Jul 29 Python
python实现异常信息堆栈输出到日志文件
Dec 26 Python
python numpy生成等差数列、等比数列的实例
Feb 25 Python
python框架Django实战商城项目之工程搭建过程图文详解
Mar 09 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
Jan 07 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 array_flip() 删除数组重复元素
2009/01/14 PHP
PHP CURL模拟GET及POST函数代码
2010/04/25 PHP
解析php mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
2014/10/16 PHP
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
javascript string字符串优化问题
2011/07/31 Javascript
基于jQuery中对数组进行操作的方法
2013/04/16 Javascript
探讨JQUERY JSON的反序列化类 using问题的解决方法
2013/12/19 Javascript
javascript计算星座属相(十二生肖属相)示例代码
2014/01/09 Javascript
使用js检测浏览器是否支持html5中的video标签的方法
2014/03/12 Javascript
nodejs教程之异步I/O
2014/11/21 NodeJs
js方法数据验证的简单实例
2016/09/17 Javascript
jQuery的$.extend 浅拷贝与深拷贝
2017/03/08 Javascript
详解vue嵌套路由-params传递参数
2017/05/23 Javascript
JS面向对象的程序设计相关知识小结
2018/05/26 Javascript
JS前端知识点总结之内置对象,日期对象和定时器相关操作
2019/07/05 Javascript
jQuery操作元素的内容和样式完整实例分析
2020/01/10 jQuery
Vue 自适应高度表格的实现方法
2020/05/13 Javascript
swiper实现导航滚动效果
2020/12/13 Javascript
Python中使用glob和rmtree删除目录子目录及所有文件的例子
2014/11/21 Python
使用Pyrex来扩展和加速Python程序的教程
2015/04/13 Python
Python中的字符串类型基本知识学习教程
2016/02/04 Python
python实现读取并显示图片的两种方法
2017/01/13 Python
Python数据结构之图的应用示例
2018/05/11 Python
对命令行模式与python交互模式介绍
2018/05/12 Python
浅谈django三种缓存模式的使用及注意点
2018/09/30 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
flask的orm框架SQLAlchemy查询实现解析
2019/12/12 Python
详解python如何引用包package
2020/06/07 Python
Python同时迭代多个序列的方法
2020/07/28 Python
Manduka官网:瑜伽垫、瑜伽毛巾和服装
2018/07/02 全球购物
测量实习生自我鉴定
2013/09/19 职场文书
幼儿园教师节演讲稿
2014/09/03 职场文书
司法局群众路线教育实践活动整改措施思想汇报
2014/10/13 职场文书
2014年综合治理工作总结
2014/11/20 职场文书
银行稽核岗位职责
2015/04/13 职场文书