golang http client keep-alive最大连接数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang http client keep-alive最大连接数相关的知识,希望对你有一定的参考价值。
参考技术A
Client前两个请求对同一个host发起,复用了55564接口的链接,第三次请求对另外一个HOST发起,由于MaxIdleConns=1,会关闭前一个链接然后发起一个新的链接,第四次同样也会关闭第三次的链接,重新发起。说明MaxIdleConns限制了最大keep-alive的连接数,超出的连接会被关闭掉。
Client对不同的两个Host发起的请求,都复用了连接
golang http_client
package main
import (
"fmt"
"net/http"
"net/http/httputil"
)
func main() {
req, err := http.NewRequest(http.MethodGet, "http://www.google.com", nil)
//req.Header.Add("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) CriOS/56.0.2924.75 Mobile/14E5239e Safari/602.1")
client := http.Client {
CheckRedirect: func(req *http.Request, via []*http.Request) error {
fmt.Println("Redirect:",req)
return nil
},
}
resp, err := client.Do(req)
//resp, err := http.Get("http://www.imooc.com")
if err != nil {
panic(err)
}
defer resp.Body.Close()
bytes, err := httputil.DumpResponse(resp, true)
if err != nil {
panic(err)
}
fmt.Println(string(bytes))
}
以上是关于golang http client keep-alive最大连接数的主要内容,如果未能解决你的问题,请参考以下文章
golang http client keep-alive最大连接数
golang使用http client发起get和post请求示例
golang使用http client发起get和post请求示例
golang入门案例之http client请求
golang http.client 遇到了 Connection reset by peer 问题
golang中如何使用http长链接(client端)