位置: IT常识 - 正文

使用Go http重试请求

编辑:rootadmin
原文连接:https://www.zhoubotong.site/post/78.html 开发中对于http请求是经常遇到,一般可能网络延迟或接口返回超时,对于发起客户端的请求, 除了设置超时时间外,请求重试是很有必要考虑的,我们不用重复造轮子,可以使用 https://github.com/ra ...

推荐整理分享使用Go http重试请求,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

使用Go http重试请求

原文连接:https://www.zhoubotong.site/post/78.html开发中对于http请求是经常遇到,一般可能网络延迟或接口返回超时,对于发起客户端的请求,

除了设置超时时间外,请求重试是很有必要考虑的,我们不用重复造轮子,可以使用https://github.com/rafaeljesus/retry-go第三方库,

retry-go的使用非常简单,如下是一个发起 HTTP Get 请求的重试示例 :

package mainimport ( "io/ioutil" "log" "net/http" "time" "github.com/rafaeljesus/retry-go")var ( attempts = 3 //最大重试次数 sleepTime = time.Second * 2 //重试延迟时间)func main() { _, err := retry.DoHTTP(func() (*http.Response, error) { return makeRequest() }, attempts, sleepTime) if err != nil { log.Print("retry.DoHTTP Failed") return } log.Print("retry.DoHTTP OK")}// 发送http请求func makeRequest() (*http.Response, error) { client := http.Client{ Timeout: 2 * time.Second, // 设置请求超时时间 } req, err := client.Get("https://www.baidu2.com") // 模拟不存在的url请求 if err != nil { log.Printf(err.Error()) return nil, err } body, err := ioutil.ReadAll(req.Body) if err != nil { log.Printf(err.Error()) return nil, err } log.Printf("响应数据 %v\\n", string(body)) defer req.Body.Close() res := &http.Response{} return res, nil}

运行结果:我们看到尝试执行了指定的3次请求次数。

本文链接地址:https://www.jiuchutong.com/zhishi/304649.html 转载请保留说明!

上一篇:c语言中有哪些循环语句(c语言中有哪些循环结构)

下一篇:phpcms hash数据验证失败怎么解决(php hash_hmac)

  • 红米note11怎么设置返回键(红米note11怎么设置来电铃声)

    红米note11怎么设置返回键(红米note11怎么设置来电铃声)

  • 抖音几分钟前在线可以进行设置吗(抖音几分钟在线和今天在线什么区别)

    抖音几分钟前在线可以进行设置吗(抖音几分钟在线和今天在线什么区别)

  • vivo x27怎么设置自己喜欢的来电铃声(vivox27怎么设置5g网络)

    vivo x27怎么设置自己喜欢的来电铃声(vivox27怎么设置5g网络)

  • 华为mate20支持40w快充吗(华为mate20支持40w超级快充吗)

    华为mate20支持40w快充吗(华为mate20支持40w超级快充吗)

  • 快手作品不适宜公开怎么办(快手作品不适宜公开要删除吗)

    快手作品不适宜公开怎么办(快手作品不适宜公开要删除吗)

  • Excel自动填充包括怎么弄(excel自动填充功能包括什么)

    Excel自动填充包括怎么弄(excel自动填充功能包括什么)

  • 计算机中存储整数最常用的方法(计算机的存储器完整的应包括什么)

    计算机中存储整数最常用的方法(计算机的存储器完整的应包括什么)

  • 网络安全密钥不匹配怎么办(网络安全密钥不正确怎么解决)

    网络安全密钥不匹配怎么办(网络安全密钥不正确怎么解决)

  • 华为p40pro近距离拍照模糊(华为p40pro近距离拍照无法聚焦)

    华为p40pro近距离拍照模糊(华为p40pro近距离拍照无法聚焦)

  • 怎么查苹果11是不是国行(怎么查苹果11是不是正版)

    怎么查苹果11是不是国行(怎么查苹果11是不是正版)

  • 直播能看到观众脸吗(直播能看到观众的地址吗)

    直播能看到观众脸吗(直播能看到观众的地址吗)

  • 抖音怎么分身成两个(抖音怎么分身成二个抖音号)

    抖音怎么分身成两个(抖音怎么分身成二个抖音号)

  • oppoa11x怎么连接电脑(oppoa11x怎么连接投屏器)

    oppoa11x怎么连接电脑(oppoa11x怎么连接投屏器)

  • realme x摄像头像素多少(realmex摄像头被占用怎么办)

    realme x摄像头像素多少(realmex摄像头被占用怎么办)

  • 淘宝闪退功能怎么突然用不了了(淘宝闪退怎么办?)

    淘宝闪退功能怎么突然用不了了(淘宝闪退怎么办?)

  • 积目可以查找好友吗(积目查找好友)

    积目可以查找好友吗(积目查找好友)

  • 方舟编译器怎么开(方舟编译器怎么没消息了)

    方舟编译器怎么开(方舟编译器怎么没消息了)

  • ppt怎样循环播放(ppt怎样循环播放音乐)

    ppt怎样循环播放(ppt怎样循环播放音乐)

  • 云服务器cvm功能概述(云服务器cvm功能有什么用)

    云服务器cvm功能概述(云服务器cvm功能有什么用)

  • 苹果8p悬浮球在哪设置(iphone 8悬浮球设置)

    苹果8p悬浮球在哪设置(iphone 8悬浮球设置)

  • Mac系统hosts文件位置在那里?Mac修改hosts文件方法介绍(mac本host文件)

    Mac系统hosts文件位置在那里?Mac修改hosts文件方法介绍(mac本host文件)

  • 学习Canvas基础-绘制矩形(canvas软件教程)

    学习Canvas基础-绘制矩形(canvas软件教程)

  • 数字图像处理总结(冈萨雷斯版)(数字图像处理总结)

    数字图像处理总结(冈萨雷斯版)(数字图像处理总结)

  • 小规模纳税人滚动累计
  • 抵扣联 发票联
  • 网上增值税申报表怎么填
  • 无息贷款合同要按手印吗
  • 作废的支票银行怎么处理
  • 支票承兑是什么意思要带什么材料
  • 金税盘维护费减免政策代码
  • 出售房屋缴纳的印花税
  • 基金申购费有下限吗
  • 汽车固定资产清理账务处理
  • 公司先注册实收资本后付账该如何做会计处理呢?
  • 社保的计提和缴纳
  • 佣金可以直接转到个人账户吗
  • 跨年发票还可以入账吗
  • 减免税款期末有余额吗
  • 售楼部购买空调计入哪个科目
  • 涉税票据如何避免税务风险?
  • 发放的工资比计提的多怎么办
  • 企业增值税如何退税
  • 坏账损失企业所得税
  • linux内核有什么作用
  • ubuntu22.04更换RTX 4090显卡后,安装驱动和pytorch记录
  • 路由器密码忘了怎么查到
  • php字符串定义
  • PHP:Memcached::deleteByKey()的用法_Memcached类
  • 实际投资收益率等于什么
  • 旧设备投资的税务处理
  • linux的网络编程
  • element ui el-tree
  • 哈特谢普苏特女王享殿
  • 增值税的法律法规最新
  • 商品销售成本怎样计算
  • visual studio code怎么创建vue项目
  • java幂等性是什么
  • sed命令大全
  • phpcms模板下载
  • python中map和filter有啥区别
  • 现金收款凭证是发票吗
  • 织梦文章内容图片大全
  • 织梦tag标签怎么用
  • 甲供材料增值税规定
  • 零税率与免税有何区别
  • 普通发票可抵税吗
  • 资产类会计科目记忆口诀
  • 外来原始凭证包括一次凭证,累计凭证和汇总凭证
  • 以摊余成本计量的债权投资与以公允价值计量且其变动
  • 企业利润分配的含义
  • 小规模纳税人需要每月清卡吗
  • 本年利润和利润分配有什么区别
  • 固定资产丢失如何补办
  • 小额贷款涉及的法律
  • 申报残保金的时候有处罚决定书怎么办
  • 车辆购置税计入什么科目
  • 学校收到学生的礼物
  • 企业注销未分配是从注册开始吗
  • iis配置asp网站
  • win2008定时任务设置
  • win8管理工具在哪里
  • linux批量替换文件夹名称
  • 联想笔记本出厂编号
  • WIN10补丁白屏
  • linux制作
  • mongo 安装
  • bat批处理命令大全
  • unity如何避免碰撞穿透
  • node.js入门
  • vue组件生命周期执行顺序
  • c调用nodejs
  • vue组件精讲
  • 狗刨怎么学
  • React+react-dropzone+node.js实现图片上传的示例代码
  • javascript sort方法排序
  • js跨域请求有哪些方式
  • 用python编写简单程序
  • js中prototype的作用
  • jquery 模态窗口
  • 山东省国税网
  • 教师资格证认定流程
  • 青岛市税务管理局
  • 河南省纳税服务平台
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设