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兔子毒药问题实例分析
Mar 05 Python
Python中json格式数据的编码与解码方法详解
Jul 01 Python
Python实现查看系统启动项功能示例
May 10 Python
python读写LMDB文件的方法
Jul 02 Python
Python爬虫使用脚本登录Github并查看信息
Jul 16 Python
django框架自定义模板标签(template tag)操作示例
Jun 24 Python
Pycharm保存不能自动同步到远程服务器的解决方法
Jun 27 Python
Python分割训练集和测试集的方法示例
Sep 19 Python
python基于property()函数定义属性
Jan 22 Python
PyQt5多线程防卡死和多窗口用法的实现
Sep 15 Python
python使用scapy模块实现ping扫描的过程详解
Jan 21 Python
用Python将GIF动图分解成多张静态图片
Jun 11 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中并发读写文件冲突的解决方案
2013/10/25 PHP
php代码审计比较有意思的例子
2014/05/07 PHP
php中静态类与静态变量用法的区别分析
2015/01/15 PHP
PHP使用CURL模拟登录的方法
2015/07/08 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
2016/10/29 PHP
php实现的rc4加密解密类定义与用法示例
2018/08/16 PHP
php写入txt乱码的解决方法
2019/09/17 PHP
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
jquery五角星评分插件示例分享
2014/02/21 Javascript
Javascript验证用户输入URL地址是否为空及格式是否正确
2014/10/09 Javascript
javascript同步服务器时间和同步倒计时小技巧
2015/09/24 Javascript
jQuery插件ajaxFileUpload异步上传文件
2016/10/19 Javascript
vue文件树组件使用详解
2018/03/29 Javascript
浅谈vue首屏加载优化
2018/06/28 Javascript
在layui.use 中自定义 function 的正确方法
2019/09/16 Javascript
Python 文件重命名工具代码
2009/07/26 Python
Python中对列表排序实例
2015/01/04 Python
Django中几种重定向方法
2015/04/28 Python
python3实现TCP协议的简单服务器和客户端案例(分享)
2017/06/14 Python
Python实现发送QQ邮件的封装
2017/07/14 Python
python3.6实现学生信息管理系统
2019/02/21 Python
Python selenium爬取微信公众号文章代码详解
2020/08/12 Python
IE8下CSS3选择器nth-child() 不兼容问题的解决方法
2016/11/16 HTML / CSS
canvas像素画板的实现代码
2018/11/21 HTML / CSS
北京某科技有限公司C# .net笔试题
2014/09/27 面试题
最新教师自我评价分享
2013/11/12 职场文书
实习生单位鉴定意见
2013/12/04 职场文书
中层竞聘演讲稿
2014/01/09 职场文书
电子信息工程专业推荐信
2014/02/14 职场文书
网络编辑岗位职责
2014/03/18 职场文书
《美丽的南沙群岛》教学反思
2014/04/27 职场文书
五四演讲稿范文
2014/09/03 职场文书
教师教育教学随笔
2015/08/15 职场文书
事业单位工作人员2015年度思想工作总结
2015/10/15 职场文书
Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
2021/11/17 Servers
USB TYPE-C 或将成为所有智能手机充电标准
2022/04/21 数码科技