欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

golang http 連接超時(shí)和傳輸超時(shí)的例子

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

golang 測(cè)試代碼

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

}

測(cè)試結(jié)果

連接超時(shí)(包括握手)

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

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

相關(guān)文章

  • Go命令行參數(shù)解析flag 包使用示例詳解

    Go命令行參數(shù)解析flag 包使用示例詳解

    這篇文章主要介紹了Go命令行參數(shù)解析flag 包使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-01-01
  • Go語言IO輸入輸出底層原理及文件操作API

    Go語言IO輸入輸出底層原理及文件操作API

    這篇文章主要為大家介紹了Go語言IO輸入輸出底層原理及文件操作API示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • Golang中Append()使用實(shí)例詳解

    Golang中Append()使用實(shí)例詳解

    今天在刷leetcode的時(shí)候,第113題讓我遇到了一個(gè)Go語言中append函數(shù)的一個(gè)坑,所以復(fù)習(xí)下,這篇文章主要給大家介紹了關(guān)于Golang中Append()使用的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • 一文帶你搞懂Golang如何正確退出Goroutine

    一文帶你搞懂Golang如何正確退出Goroutine

    在Go語言中,Goroutine是一種輕量級(jí)線程,它的退出機(jī)制對(duì)于并發(fā)編程至關(guān)重要,下午就來介紹幾種Goroutine的退出機(jī)制,希望對(duì)大家有所幫助
    2023-06-06
  • 深入解析Go?變量字符串與字符編碼問題

    深入解析Go?變量字符串與字符編碼問題

    Go的字符串是由單個(gè)字節(jié)連接起來的,Go語言的字符串的字節(jié)使用UTF-8編碼標(biāo)識(shí)Unicode文本,接下來通過本文給大家介紹下Go變量字符串與字符編碼問題,需要的朋友可以參考下
    2022-04-04
  • 關(guān)于golang監(jiān)聽rabbitmq消息隊(duì)列任務(wù)斷線自動(dòng)重連接的問題

    關(guān)于golang監(jiān)聽rabbitmq消息隊(duì)列任務(wù)斷線自動(dòng)重連接的問題

    這篇文章主要介紹了golang監(jiān)聽rabbitmq消息隊(duì)列任務(wù)斷線自動(dòng)重連接,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • 詳解Golang Iris框架的基本使用

    詳解Golang Iris框架的基本使用

    這篇文章主要介紹了Golang Iris框架的基本使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-11-11
  • go通過編碼縮短字符串的長(zhǎng)度實(shí)現(xiàn)方法步驟

    go通過編碼縮短字符串的長(zhǎng)度實(shí)現(xiàn)方法步驟

    這篇文章主要為大家介紹了go通過編碼縮短字符串的長(zhǎng)度實(shí)現(xiàn)方法步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Go語言學(xué)習(xí)筆記之文件讀寫操作詳解

    Go語言學(xué)習(xí)筆記之文件讀寫操作詳解

    這篇文章主要為大家詳細(xì)介紹了Go語言對(duì)文件進(jìn)行讀寫操作的方法,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Go語言有一定的幫助,需要的可以參考一下
    2022-05-05
  • Go語言net包RPC遠(yuǎn)程調(diào)用三種方式http與json-rpc及tcp

    Go語言net包RPC遠(yuǎn)程調(diào)用三種方式http與json-rpc及tcp

    這篇文章主要為大家介紹了Go語言net包RPC遠(yuǎn)程調(diào)用三種方式分別使用http與json-rpc及tcp的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11

最新評(píng)論