最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Go?http重試請(qǐng)求的示例

 更新時(shí)間:2022年08月30日 17:07:28   作者:周伯通之草堂  
開(kāi)發(fā)中對(duì)于http請(qǐng)求是經(jīng)常遇到,一般可能網(wǎng)絡(luò)延遲或接口返回超時(shí),這篇文章主要介紹了使用Go?http重試請(qǐng)求的示例,需要的朋友可以參考下

開(kāi)發(fā)中對(duì)于http請(qǐng)求是經(jīng)常遇到,一般可能網(wǎng)絡(luò)延遲或接口返回超時(shí),對(duì)于發(fā)起客戶端的請(qǐng)求,除了設(shè)置超時(shí)時(shí)間外,請(qǐng)求重試是很有必要考慮的,我們不用重復(fù)造輪子,可以使用https://github.com/rafaeljesus/retry-go第三方庫(kù),retry-go的使用非常簡(jiǎn)單,如下是一個(gè)發(fā)起 HTTP Get 請(qǐng)求的重試示例 :

package main

import (
    "io/ioutil"
    "log"
    "net/http"
    "time"

    "github.com/rafaeljesus/retry-go"
)

var (
    attempts  = 3               //最大重試次數(shù)
    sleepTime = time.Second * 2 //重試延遲時(shí)間
)

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")
}

// 發(fā)送http請(qǐng)求
func makeRequest() (*http.Response, error) {
    client := http.Client{
    Timeout: 2 * time.Second, // 設(shè)置請(qǐng)求超時(shí)時(shí)間
    }
    req, err := client.Get("https://www.baidu2.com") // 模擬不存在的url請(qǐng)求
    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("響應(yīng)數(shù)據(jù) %v\\n", string(body))
    defer req.Body.Close()

    res := &http.Response{}
    return res, nil
}

運(yùn)行結(jié)果:

我們看到嘗試執(zhí)行了指定的3次請(qǐng)求次數(shù)。

到此這篇關(guān)于使用Go http重試請(qǐng)求的文章就介紹到這了,更多相關(guān)go http請(qǐng)求內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 探索分析Go?HTTP?GET請(qǐng)求發(fā)送body

    探索分析Go?HTTP?GET請(qǐng)求發(fā)送body

    這篇文章主要為大家介紹了探索分析Go?HTTP?GET請(qǐng)求發(fā)送body,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Go中調(diào)用JS代碼(otto)的實(shí)現(xiàn)示例

    Go中調(diào)用JS代碼(otto)的實(shí)現(xiàn)示例

    Otto是一個(gè)用Go語(yǔ)言實(shí)現(xiàn)的JavaScript解釋器,可用于執(zhí)行和操作JavaScript代碼,適合在Go項(xiàng)目中執(zhí)行簡(jiǎn)單的JS腳本,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-10-10
  • golang讀取http的body時(shí)遇到的坑及解決

    golang讀取http的body時(shí)遇到的坑及解決

    這篇文章主要介紹了golang讀取http的body時(shí)遇到的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 使用IDEA配置GO語(yǔ)言的開(kāi)發(fā)環(huán)境備忘錄

    使用IDEA配置GO語(yǔ)言的開(kāi)發(fā)環(huán)境備忘錄

    最近在配置idea開(kāi)發(fā)go語(yǔ)言時(shí)碰到很多問(wèn)題,想著很多人都可能會(huì)遇到,所以下面這篇文章主要給大家介紹了關(guān)于使用IDEA配置GO語(yǔ)言的開(kāi)發(fā)環(huán)境,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-05-05
  • Go語(yǔ)言測(cè)試庫(kù)testify使用學(xué)習(xí)

    Go語(yǔ)言測(cè)試庫(kù)testify使用學(xué)習(xí)

    這篇文章主要為大家介紹了Go語(yǔ)言測(cè)試庫(kù)testify的使用學(xué)習(xí)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Go?WEB框架使用攔截器驗(yàn)證用戶登錄狀態(tài)實(shí)現(xiàn)

    Go?WEB框架使用攔截器驗(yàn)證用戶登錄狀態(tài)實(shí)現(xiàn)

    這篇文章主要為大家介紹了Go?WEB框架使用攔截器驗(yàn)證用戶登錄狀態(tài)實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • golang的HTTP基本認(rèn)證機(jī)制實(shí)例詳解

    golang的HTTP基本認(rèn)證機(jī)制實(shí)例詳解

    這篇文章主要介紹了golang的HTTP基本認(rèn)證機(jī)制,結(jié)合實(shí)例形式較為詳細(xì)的分析了HTTP請(qǐng)求響應(yīng)的過(guò)程及認(rèn)證機(jī)制實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-07-07
  • GoLang調(diào)用鏈可視化go-callvis使用介紹

    GoLang調(diào)用鏈可視化go-callvis使用介紹

    與鏈路追蹤(Tracing)不同,Tracing關(guān)注復(fù)雜的分布式環(huán)境中各個(gè)服務(wù)節(jié)點(diǎn)間的調(diào)用關(guān)系,主要用于服務(wù)治理。而我們本次探索的代碼調(diào)用鏈路則是代碼方法級(jí)別的調(diào)用關(guān)系,主要用于代碼設(shè)計(jì)
    2023-02-02
  • Go 庫(kù)bytes.Buffer和strings.Builder使用及性能對(duì)比

    Go 庫(kù)bytes.Buffer和strings.Builder使用及性能對(duì)比

    這篇文章主要為大家介紹了Go 庫(kù)bytes.Buffer和strings.Builder使用及性能對(duì)比,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 淺析Golang中閉包的創(chuàng)建與使用

    淺析Golang中閉包的創(chuàng)建與使用

    閉包是包括?Go?在內(nèi)的編程語(yǔ)言的一項(xiàng)強(qiáng)大功能,通過(guò)閉包,您可以在函數(shù)中封裝數(shù)據(jù),并通過(guò)函數(shù)的返回值訪問(wèn)這些數(shù)據(jù),本文將介紹Go?中閉包的基礎(chǔ)知識(shí),希望對(duì)大家有所幫助
    2023-11-11

最新評(píng)論

新津县| 通州市| 沭阳县| 临夏市| 滦南县| 都安| 襄汾县| 阿巴嘎旗| 运城市| 泊头市| 阳城县| 西乡县| 平果县| 交口县| 德格县| 柘城县| 广平县| 兴文县| 封开县| 永年县| 铅山县| 镇沅| 嘉兴市| 阿克陶县| 富源县| 新沂市| 临高县| 军事| 永城市| 财经| 卓资县| 大英县| 台中市| 垦利县| 察哈| 左云县| 汉川市| 安乡县| 革吉县| 喀喇沁旗| 成安县|