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 相关文章推荐
在Mac OS上使用mod_wsgi连接Python与Apache服务器
Dec 24 Python
Python selenium 三种等待方式解读
Sep 15 Python
Python切片索引用法示例
May 15 Python
深入浅析Python获取对象信息的函数type()、isinstance()、dir()
Sep 17 Python
python实现图书借阅系统
Feb 20 Python
Pandas分组与排序的实现
Jul 23 Python
使用python写的opencv实时监测和解析二维码和条形码
Aug 14 Python
Pycharm 2020年最新激活码(亲测有效)
Sep 18 Python
Python终端输出彩色字符方法详解
Feb 11 Python
Python如何通过百度翻译API实现翻译功能
Apr 02 Python
Python爬虫定时计划任务的几种常见方法(推荐)
Jan 15 Python
ubuntu安装jupyter并设置远程访问的实现
Mar 31 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生成唯一的促销/优惠/折扣码(附源码)
2012/12/28 PHP
Javascript客户端脚本的设计和应用
2006/08/21 Javascript
js兼容标准的表格变色效果
2008/06/28 Javascript
javascript之可拖动的iframe效果代码
2008/08/01 Javascript
jQuery.query.js 取参数的两点问题分析
2012/08/06 Javascript
jquery取消选择select下拉框示例代码
2014/02/22 Javascript
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
js插件YprogressBar实现漂亮的进度条效果
2015/04/20 Javascript
js生成随机数的方法实例
2015/10/16 Javascript
JS简单模拟触发按钮点击功能的方法
2015/11/30 Javascript
基于jquery实现省市区三级联动效果
2015/12/25 Javascript
JavaScript toUpperCase()方法使用详解
2016/08/26 Javascript
JS实现点击Radio动态更新table数据
2017/07/18 Javascript
dropload.js插件下拉刷新和上拉加载使用详解
2017/10/20 Javascript
JavaScript实现QQ列表展开收缩扩展功能
2017/10/30 Javascript
详解关于element el-button使用$attrs的一个注意要点
2018/11/09 Javascript
微信小程序实现简易table表格
2020/06/19 Javascript
CountUp.js数字滚动插件使用方法详解
2019/10/17 Javascript
Vue中img的src是动态渲染时不显示的解决
2019/11/14 Javascript
vue+elementUI 实现内容区域高度自适应的示例
2020/09/26 Javascript
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
Python中如何优雅的合并两个字典(dict)方法示例
2017/08/09 Python
python3将视频流保存为本地视频文件
2018/06/20 Python
python实现Excel文件转换为TXT文件
2019/04/28 Python
git查看、创建、删除、本地、远程分支方法详解
2020/02/18 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
欧洲领先的火车票和大巴票预订平台:Trainline
2018/12/26 全球购物
工作人员思想汇报
2014/01/09 职场文书
2014年大学生自我评价
2014/01/19 职场文书
运动会报道稿300字
2014/10/02 职场文书
法定代表人身份证明书(含说明)
2014/10/02 职场文书
学生评语集锦
2015/01/04 职场文书
机关干部作风整顿心得体会
2016/01/22 职场文书
初三语文教学反思
2016/03/03 职场文书
JavaScript使用canvas绘制坐标和线
2021/04/28 Javascript
MySQL中order by的执行过程
2022/06/05 MySQL