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

  • 快手里恋人关系可以隐藏吗(快手处关系)

    快手里恋人关系可以隐藏吗(快手处关系)

  • 荣耀X30max怎么拦截骚扰电话(荣耀30怎么设置拦截所有陌生号码)

    荣耀X30max怎么拦截骚扰电话(荣耀30怎么设置拦截所有陌生号码)

  • ppt图片透明度怎么更改(PPT图片透明度怎么调不了)

    ppt图片透明度怎么更改(PPT图片透明度怎么调不了)

  • opporeno4pro是否有3.5mm耳机孔(opporeno4pro都有哪一些不一样的功能)

    opporeno4pro是否有3.5mm耳机孔(opporeno4pro都有哪一些不一样的功能)

  • 华为mate30128g够用吗(mate30128g够用吗)

    华为mate30128g够用吗(mate30128g够用吗)

  • 淘气值799是怎么回事(淘气值799怎么办)

    淘气值799是怎么回事(淘气值799怎么办)

  • 苹果xr原彩显示耗电吗(苹果xr原彩显示有什么用)

    苹果xr原彩显示耗电吗(苹果xr原彩显示有什么用)

  • qq号不想要了怎样销毁(qq号不想要了怎么找回来)

    qq号不想要了怎样销毁(qq号不想要了怎么找回来)

  • 微信充值为什么扣手续(微信充值为什么显示交易异常)

    微信充值为什么扣手续(微信充值为什么显示交易异常)

  • 网易云音乐账号可以两个手机同时用吗(网易云音乐账号怎么看)

    网易云音乐账号可以两个手机同时用吗(网易云音乐账号怎么看)

  • 宣传单设计用什么软件(宣传单设计用什么软件好)

    宣传单设计用什么软件(宣传单设计用什么软件好)

  • 华为手环3e怎么开蓝牙(华为手环3e怎么开机)

    华为手环3e怎么开蓝牙(华为手环3e怎么开机)

  • 滴滴永久封号如何解除(滴滴司机永久封号有什么办法才能恢复)

    滴滴永久封号如何解除(滴滴司机永久封号有什么办法才能恢复)

  • 微信语音记录能查出来吗(微信语音记录能保存多久)

    微信语音记录能查出来吗(微信语音记录能保存多久)

  • 手机怎么投屏笔记本(手机怎么投屏笔记本win7)

    手机怎么投屏笔记本(手机怎么投屏笔记本win7)

  • 苹果手机格式化怎么操作(苹果手机格式化id会格式化吗)

    苹果手机格式化怎么操作(苹果手机格式化id会格式化吗)

  • 360浏览器看视频怎么调倍速(360浏览器看视频如何倍速)

    360浏览器看视频怎么调倍速(360浏览器看视频如何倍速)

  • 第一款智能手机什么时候出来的(vivo第一款智能手机)

    第一款智能手机什么时候出来的(vivo第一款智能手机)

  • 小米9屏占比是多少(小米9屏幕尺寸比例)

    小米9屏占比是多少(小米9屏幕尺寸比例)

  • 运营商设置更新怎么关(iphone手机运营商设置更新)

    运营商设置更新怎么关(iphone手机运营商设置更新)

  • qq如何找回以前的好友(qq如何找回以前删除的好友)

    qq如何找回以前的好友(qq如何找回以前删除的好友)

  • win10 iOS镜像版激活秘钥/神key分享 附kms激活工具+教程(苹果专用win10镜像下载)

    win10 iOS镜像版激活秘钥/神key分享 附kms激活工具+教程(苹果专用win10镜像下载)

  • 2023前端面试题汇总(2023前端面试题目100及最佳答案)

    2023前端面试题汇总(2023前端面试题目100及最佳答案)

  • YOLOv5实现目标识别全流程【超级详细!】(yolo目标识别)

    YOLOv5实现目标识别全流程【超级详细!】(yolo目标识别)

  • dedecms发布文章排序按发布时间,不是更新时间(dedecms上传视频)

    dedecms发布文章排序按发布时间,不是更新时间(dedecms上传视频)

  • 利润表主营业务成本怎么算
  • 小微企业税务服务站
  • 安装费人工费有什么不一样
  • 无形资产计税基础怎么算
  • 企业转让无形资产使用权取得的收入应计入营业外收入
  • 退回多打货款分录
  • 津贴个人所得税怎么算出来的
  • 化验室购买仪器计入什么科目
  • 保本型理财产品推荐
  • 参加公司比赛后的感想
  • 医院食堂承包方案的实施细则
  • 企业什么税可以退
  • 固定资产进项税的账务处理
  • 回扣费可以税前扣除吗?
  • 一般纳税人为其他公司制作标书怎么缴税?
  • 包销和代销哪个风险大
  • 股东的房产无偿提供给公司用
  • 取得的国债利息收入可以抵扣吗
  • 预收账款的会计编码是多少?
  • 建筑劳务公司的会计账务处理
  • 公司购酒的发票可以开多少
  • 公司购买模具的会计科目
  • 企业停产后员工怎么办
  • 增值税发票过期未抵扣怎么办
  • 城建税的会计分录是什么
  • 幼儿园资金收支管理财务制度
  • 电脑不能上网是什么原因?
  • php怎么自学
  • php字符串函数大全
  • dll进程
  • PHP:Memcached::addServer()的用法_Memcached类
  • win11怎么清理电脑垃圾
  • 不动产经营租赁范围
  • oawrapper.exe是什么
  • php的缓存文件是什么格式
  • php fopen()
  • 代理业如何交增值税
  • 下岗再就业有什么优惠政策
  • ValueError: The device should not be ‘gpu‘, since PaddlePaddle is not compiled with CUDA问题解决(Paddle)
  • thinkphp 模块
  • vue实战开发项目视频
  • 3d人体骨骼模型软件
  • 微信小程序开发零基础入门
  • 华为mate主题
  • 提前开具发票怎么做账
  • url静态化怎么操作
  • 一般纳税人进项销项抵扣如何做账
  • 物流企业货损赔付标准
  • 税控盘的进项税在哪里申报
  • 融资租赁的进项怎么做账
  • 定额转查账征收
  • 预付工程款会计分录
  • 行政单位基建账地质灾害评估报告计哪个科目
  • 企业资金占用费利率
  • 转租收入如何入账
  • 缴纳上月附加税怎么做分录
  • 待抵扣进项税额
  • 密码区出框
  • 公司汇票是什么
  • 伤病假条
  • centos6.1安装
  • 电脑操作系统win7
  • 操作系统有哪些
  • winxp回收站在哪里
  • linux中ls命令的功能
  • setlang.exe - setlang是什么进程 有什么用
  • perl时间函数
  • javascript的canvas
  • node.js console.log
  • cocos2dx创建项目
  • 用python画一棵树
  • python的idle打不开解决办法
  • js domcontentloaded
  • Unity3d HDR和Bloom效果(高动态范围图像和泛光)
  • python django运行
  • 请问一般纳税人的业务协调税率是多少
  • 企业所得税优惠事项管理目录2023
  • 装修费也要缴纳房产税吗
  • 房地产的土地增值税怎么交
  • 江苏盐在什么地方
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设