位置: 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)

  • 组成计税价应该是含税价还是不含税价?
  • 税法有哪些构成要素及各要素之间有何关系
  • 预付账款对方公式怎么算
  • 个体工商户季度不超过30万免增值税吗
  • 长期应付款是什么科目 借方
  • 想开饮品店
  • 发出商品的会计核算
  • 原材料的合理损耗
  • 企业临时外出经营如何使用发票
  • 收款凭证与收据的效力
  • 免抵退税额账务处理流程
  • 预缴税款后怎么开票
  • 2018年上专科什么时候毕业
  • 公司注销后原有债权
  • 企业向境外支付货款填写
  • 外币出资汇率变动会计处理
  • 特种设备培训费计入什么会计科目
  • 职工教育经费取得证件之后补助多少钱
  • 应交增值税出口退税年末如何结转?
  • 国际代理运费和港杂费一样吗
  • 如何查看电脑的型号和配置
  • 进口代理流程
  • 印花税的计税
  • 国税的个税手续怎么办理
  • 没有发票只有收据可以报销吗
  • 押金收不回的会计分录
  • 对公账户自己扣钱
  • 怎么登记总分类账簿
  • php优秀代码
  • 灰狼算法的改进
  • php传值给js
  • vue中webpack用来干啥
  • ajax和axios区别
  • 异常处理流程为哪几个部分
  • 机关事业单位以外包服务方式长期用工
  • 研发费用资本化可以加计扣除吗
  • 个人所得税大病医疗是什么意思
  • 工程项目发票几个点
  • 普通发票可以抵扣进项吗
  • mysql常见报错
  • 国税办税人员怎么解绑
  • 年金终值系数表值系数
  • 工业生产的含义
  • 汇算清缴费用调整怎么做账
  • 记帐时借方是什么意思
  • 存货成本核算方法的多久变更
  • access数据保存
  • access2010加密解密数据库时
  • 计提坏账准备和确认坏账损失
  • MySQL里Create Index 能否创建主键 Primary Key
  • 普通发票的后续怎么开
  • 取得费用报销单怎么填写
  • 小规模纳税人个人所得税税率
  • 水电费的收据单怎么写
  • 电子商务交易类应用发展现状
  • 暂估销售收入账目
  • 工地上报销项目有哪些
  • 存货过期报废进项税额怎么处理
  • 会计上有哪些
  • 高新技术企业退出机制
  • MYSQL数据库原理及应用
  • mysql5.7安装教程详细
  • centos7权限管理
  • unins000.exe - unins000是什么意思
  • win7右下角提示测试模式
  • xp系统纯净版gho
  • os x 10.11 el capitan系统安装图文教程
  • linux滚动更新是什么
  • win10通讯
  • web项目可以打包成jar包吗
  • cocos creator 动画制作
  • express中间件面试题
  • android加载dex
  • shell脚本中判断grep的结果
  • 浅谈关于混合模式教学的看法
  • js prev()
  • android 简历模板
  • 国家税务局网上电子税务局官网重庆
  • 河南电子税务局官网入口
  • 江苏发票真伪查询网站
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设