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冒泡排序算法的实现代码
Nov 21 Python
django自定义Field实现一个字段存储以逗号分隔的字符串
Apr 27 Python
python将ip地址转换成整数的方法
Mar 17 Python
Python sys.argv用法实例
May 28 Python
numpy 进行数组拼接,分别在行和列上合并的实例
May 08 Python
对python中for、if、while的区别与比较方法
Jun 25 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
Jul 01 Python
django 快速启动数据库客户端程序的方法示例
Aug 16 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
Oct 12 Python
简单了解python字符串前面加r,u的含义
Dec 26 Python
浅谈JupyterNotebook导出pdf解决中文的问题
Apr 22 Python
vscode调试django项目的方法
Aug 06 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写MySQL数据 实现代码
2009/06/15 PHP
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
2011/08/08 PHP
探讨PHP使用eAccelerator的API开发详解
2013/06/09 PHP
php静态文件返回304技巧分享
2015/01/06 PHP
PHP检测链接是否存在的代码实例分享
2016/05/06 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
2016/07/28 PHP
PHP的消息通信机制测试实例
2016/11/10 PHP
php-fpm添加service服务的例子
2018/04/27 PHP
基于JQuery 滑动与动画的说明介绍
2013/04/18 Javascript
使用jsonp完美解决跨域问题
2014/11/27 Javascript
JavaScript中的console.dir()函数介绍
2014/12/29 Javascript
举例详解Python中smtplib模块处理电子邮件的使用
2015/06/24 Javascript
js实现上一页下一页的效果【附代码】
2016/03/10 Javascript
15个非常实用的JavaScript代码片段
2016/12/18 Javascript
详解JavaScript树结构
2017/01/09 Javascript
完美的js图片轮换效果
2017/02/05 Javascript
js 将input框中的输入自动转化成半角大写(税号输入框)
2017/02/16 Javascript
jquery操作select取值赋值与设置选中实例
2017/02/28 Javascript
js实现返回顶部效果
2017/03/10 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
2017/04/11 Javascript
详解webpack与SPA实践之开发环境搭建
2017/12/18 Javascript
vue2.0 移动端实现下拉刷新和上拉加载更多的示例
2018/04/23 Javascript
bootstrap 路径导航 分页 进度条的实例代码
2018/08/06 Javascript
深入解读Node.js中的koa源码
2019/06/17 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
python实现单线程多任务非阻塞TCP服务端
2017/06/13 Python
python实现K最近邻算法
2018/01/29 Python
Python 把序列转换为元组的函数tuple方法
2019/06/27 Python
解决Tensorflow 内存泄露问题
2020/02/05 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
2020/05/16 Python
驴妈妈旅游网:中国新型的B2C旅游电子商务网站
2016/08/16 全球购物
Skyscanner新西兰:全球领先的旅游搜索网站
2019/08/26 全球购物
煤矿班组长岗位职责
2013/12/29 职场文书
幼儿园家长工作总结2015
2015/04/25 职场文书
清明扫墓感想
2015/08/11 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书