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 应用中使用 MongoDB的方法
Jan 05 Python
Django 前后台的数据传递的方法
Aug 08 Python
Python使用matplotlib填充图形指定区域代码示例
Jan 16 Python
浅谈flask源码之请求过程
Jul 26 Python
python 检查是否为中文字符串的方法
Dec 28 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
Jun 14 Python
python getpass模块用法及实例详解
Oct 07 Python
python返回数组的索引实例
Nov 28 Python
Python3实现mysql连接和数据框的形成(实例代码)
Jan 17 Python
PyCharm设置注释字体颜色以及是否倾斜的操作
Sep 16 Python
Python何绘制带有背景色块的折线图
Apr 23 Python
Python使用pandas导入csv文件内容的示例代码
Dec 24 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
如何在WIN2K下安装PHP4.04
2006/10/09 PHP
php socket方式提交的post详解
2008/07/19 PHP
js 新浪的一个图片播放图片轮换效果代码
2008/07/15 Javascript
读jQuery之八 包装事件对象
2011/06/21 Javascript
Textbox控件注册回车事件及触发按钮提交事件具体实现
2013/03/04 Javascript
AJAX跨域请求json数据的实现方法
2013/11/11 Javascript
js使用html()或text()方法获取设置p标签的显示的值
2014/08/01 Javascript
javascript中apply、call和bind的使用区别
2016/04/05 Javascript
javascript实现秒表计时器的制作方法
2017/02/16 Javascript
Vue2.0实现1.0的搜索过滤器功能实例代码
2017/03/20 Javascript
angular仿支付宝密码框输入效果
2017/03/25 Javascript
详解如何使用vue-cli脚手架搭建Vue.js项目
2017/05/19 Javascript
Angular.js中angular-ui-router的简单实践
2017/07/18 Javascript
详解vue 组件之间使用eventbus传值
2017/10/25 Javascript
详解RequireJs官方使用教程
2017/10/31 Javascript
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
[04:28]DOTA2亚洲邀请赛小组赛第五日 TOP10精彩集锦
2015/02/03 DOTA
[37:29]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.19
2020/11/19 DOTA
python2和python3的输入和输出区别介绍
2018/11/20 Python
Python Threading 线程/互斥锁/死锁/GIL锁
2019/07/21 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
Python实现ATM系统
2020/02/17 Python
python实现人机五子棋
2020/03/25 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
python实现五子棋程序
2020/04/24 Python
python中random.randint和random.randrange的区别详解
2020/09/20 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
《天安门广场》教学反思
2014/04/23 职场文书
机电一体化应届生求职信
2014/08/09 职场文书
新生开学寄语大全
2015/05/28 职场文书
如何写好活动总结
2019/06/21 职场文书
学长教您写论文:经验总结
2019/07/09 职场文书
导游词之沈阳植物园
2019/11/30 职场文书
详解如何使用Node.js实现热重载页面
2021/05/06 Javascript
python迷宫问题深度优先遍历实例
2021/06/20 Python