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 Web框架Flask下网站开发入门实例
Feb 08 Python
python实现的简单窗口倒计时界面实例
May 05 Python
python生成IP段的方法
Jul 07 Python
Python的Flask框架标配模板引擎Jinja2的使用教程
Jul 12 Python
python 遍历目录(包括子目录)下所有文件的实例
Jul 11 Python
Python3.7 dataclass使用指南小结
Feb 22 Python
python使用装饰器作日志处理的方法
Jul 11 Python
git查看、创建、删除、本地、远程分支方法详解
Feb 18 Python
Python ArgumentParse的subparser用法说明
Apr 20 Python
用Python在Excel里画出蒙娜丽莎的方法示例
Apr 28 Python
Python3爬虫中Selenium的用法详解
Jul 10 Python
python 实现两个变量值进行交换的n种操作
Jun 02 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
千呼万唤始出来,DOTA2勇士令状不朽宝藏Ⅱ现已推出
2020/08/25 DOTA
Cannot modify header information错误解决方法
2008/10/08 PHP
PHP中使用Memache作为进程锁的操作类分享
2015/03/30 PHP
php用户登录之cookie信息安全分析
2016/05/13 PHP
php中array_unshift()修改数组key注意事项分析
2016/05/16 PHP
PHP微信企业号开发之回调模式开启与用法示例
2017/11/25 PHP
PHP+mysql防止SQL注入的方法小结
2019/04/27 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
2019/09/23 PHP
jQuery自动切换/点击切换选项卡效果的小例子
2013/08/12 Javascript
instanceof和typeof运算符的区别详解
2014/01/06 Javascript
javascript实现按回车键切换焦点
2015/02/09 Javascript
JS、jQuery中select的用法详解
2016/04/21 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
详解NodeJs支付宝移动支付签名及验签
2017/01/06 NodeJs
浅谈javascript中的 “ &amp;&amp; ” 和 “ || ”
2017/02/02 Javascript
Node.js中Bootstrap-table的两种分页的实现方法
2017/09/18 Javascript
Vue之Vue.set动态新增对象属性方法
2018/02/23 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
2019/09/23 Javascript
JS 数组和对象的深拷贝操作示例
2020/06/06 Javascript
Vue如何跨组件传递Slot的实现
2020/12/14 Vue.js
node.js文件的复制、创建文件夹等相关操作
2021/02/05 Javascript
利用python实现简单的循环购物车功能示例代码
2017/07/05 Python
python实现整数的二进制循环移位
2019/03/08 Python
详解用python写网络爬虫-爬取新浪微博评论
2019/05/10 Python
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
2020/01/03 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
Keras保存模型并载入模型继续训练的实现
2021/02/20 Python
HTML5调用手机摄像头拍照的实现思路及代码
2014/06/15 HTML / CSS
秋季运动会稿件
2014/01/30 职场文书
大型车展策划方案
2014/02/01 职场文书
竞选演讲稿范文大全
2014/05/12 职场文书
促销活动总结模板
2014/07/01 职场文书
挂职锻炼个人总结
2015/03/05 职场文书
2015年度优秀员工推荐信
2015/03/23 职场文书
2015年毕业生自荐信范文
2015/03/24 职场文书
2015年统战工作总结
2015/05/19 职场文书