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

golang http 連接超時和傳輸超時的例子

 更新時間:2019年07月12日 16:39:57   作者:白小獅  
今天小編就為大家分享一篇golang http 連接超時和傳輸超時的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

golang 測試代碼

package main

import (
  "net/http"
  "net/url"
  "fmt"
  "io/ioutil"
  "time"
  "net"
  "crypto/tls"
)

func TimeoutDialer(cTimeout time.Duration, rwTimeout time.Duration) func(net, addr string) (c net.Conn, err error) {
  return func(netw, addr string) (net.Conn, error) {
    conn, err := net.DialTimeout(netw, addr, cTimeout)
    if err != nil {
      return nil, err
    }
    conn.SetDeadline(time.Now().Add(rwTimeout))
    return conn, nil
  }
}

func main() {

  connectTimeout := 5 * time.Second
  readWriteTimeout := 100 * time.Millisecond

  c := http.Client{
    Transport: &http.Transport{
      TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
      Dial:      TimeoutDialer(connectTimeout, readWriteTimeout),
    },
  }

  uri := "https://www.youtobe.com"
  req, err := http.NewRequest(http.MethodPost, uri, nil)
  if err != nil {
    fmt.Println("req error:" + err.Error())
    return
  }

  req.Header = http.Header{}

  req.Header["Connection"] = []string{"Close"}
  req.Header["User-Agent"] = []string{"wpt-http-client/1.1"}

  data := make(url.Values)

  data["name"] = []string{"baixs"}
  data["hobby"] = []string{"runing"}

  resp, err := c.Do(req)
  if err != nil {
    fmt.Println("do error,err:" + err.Error())
    return
  }

  respBody, err := ioutil.ReadAll(resp.Body)

  fmt.Println(string(respBody))

}

測試結(jié)果

連接超時(包括握手)

傳輸超時(也就是讀寫,從accept開始計算 )

以上這篇golang http 連接超時和傳輸超時的例子就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Go如何優(yōu)雅的關(guān)閉goroutine協(xié)程

    Go如何優(yōu)雅的關(guān)閉goroutine協(xié)程

    本文將介紹首先為什么需要主動關(guān)閉goroutine,并介紹如何在Go語言中關(guān)閉goroutine的常見套路,包括傳遞終止信號和協(xié)程內(nèi)部捕捉終止信號,之后,文章列舉了需要主動關(guān)閉協(xié)程運行的常見場景,希望通過本文的介紹,讀者能夠掌握如何在適當?shù)臅r候關(guān)閉goroutine
    2023-05-05
  • Go處理JSON數(shù)據(jù)的實現(xiàn)

    Go處理JSON數(shù)據(jù)的實現(xiàn)

    本文主要介紹了Go處理JSON數(shù)據(jù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 淺析Go中函數(shù)的健壯性,panic異常處理和defer機制

    淺析Go中函數(shù)的健壯性,panic異常處理和defer機制

    這篇文章主要為大家詳細介紹了Go中函數(shù)的健壯性,panic異常處理和defer機制的相關(guān)知識,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2023-10-10
  • golang中http請求的context傳遞到異步任務(wù)的坑及解決

    golang中http請求的context傳遞到異步任務(wù)的坑及解決

    這篇文章主要介紹了golang中http請求的context傳遞到異步任務(wù)的坑及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • golang中defer的使用規(guī)則詳解

    golang中defer的使用規(guī)則詳解

    大家應(yīng)該都知道在golang當中,defer代碼塊會在函數(shù)調(diào)用鏈表中增加一個函數(shù)調(diào)用。下面這篇文章主要給大家介紹了關(guān)于golang中defer的使用規(guī)則,文中介紹的非常詳細,對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。
    2017-07-07
  • Go語言實現(xiàn)登錄驗證代碼案例

    Go語言實現(xiàn)登錄驗證代碼案例

    這篇文章主要介紹了Go語言實現(xiàn)登錄驗證代碼案例,代碼和圖文講解的很清晰,有感興趣的可以學(xué)習(xí)下
    2021-03-03
  • Go語言設(shè)計模式之結(jié)構(gòu)型模式

    Go語言設(shè)計模式之結(jié)構(gòu)型模式

    本文主要聚焦在結(jié)構(gòu)型模式(Structural Pattern)上,其主要思想是將多個對象組裝成較大的結(jié)構(gòu),并同時保持結(jié)構(gòu)的靈活和高效,從程序的結(jié)構(gòu)上解決模塊之間的耦合問題
    2021-06-06
  • Golang中多個if代碼優(yōu)化小技巧

    Golang中多個if代碼優(yōu)化小技巧

    這篇文章主要為大家詳細介紹了Golang中一些常用的if代碼優(yōu)化小技巧,w文中的示例代碼簡潔易懂,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-10-10
  • Go?錯誤處理實踐總結(jié)示例

    Go?錯誤處理實踐總結(jié)示例

    這篇文章主要為大家介紹了Go錯誤處理實踐的總結(jié)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • golang?pprof?監(jiān)控goroutine?thread統(tǒng)計原理詳解

    golang?pprof?監(jiān)控goroutine?thread統(tǒng)計原理詳解

    這篇文章主要為大家介紹了golang?pprof?監(jiān)控goroutine?thread統(tǒng)計原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04

最新評論

同仁县| 明星| 阳江市| 昭平县| 石嘴山市| 平昌县| 临沭县| 吉隆县| 商都县| 阿克陶县| 定远县| 怀来县| 城固县| 毕节市| 通州区| 财经| 赞皇县| 吴桥县| 竹北市| 萨迦县| 兴化市| 旬邑县| 阜宁县| 涿州市| 平潭县| 南通市| 华坪县| 海南省| 公主岭市| 阳城县| 启东市| 雷州市| 乐清市| 潼关县| 茌平县| 庄浪县| 湖口县| 黔西县| 班戈县| 涿州市| 阜新市|