13 http go roundtrip itmstransporter
我很难理解我们RoundTripper
在Go中需要什么.
https://golang.org/pkg/net/http/#RoundTripper
解释Transport
Go中的默认值:
var DefaultTransport RoundTripper = &Transport{
Proxy: ProxyFromEnvironment,
Dial: (&net.Dialer{
Timeout: 30 * time.Second,
KeepAlive: 30 * time.Second,
}).Dial,
TLSHandshakeTimeout: 10 * time.Second,
}
Run Code Online (Sandbox Code Playgroud)
但是RoundTripper
和之间的区别是什么:
transport := &http.Transport{
Proxy: http.ProxyFromEnvironment,
TLSHandshakeTimeout: timeout,
Dial: dialfunc,
DisableKeepAlives: true,
}
Run Code Online (Sandbox Code Playgroud)
我的问题:RoundTripper
与常规不同Transport
?
Jam*_*nge 11
我认为沃尔克在他对你的问题的评论中做得对.从我的角度来看,http.Transport
提供了一个实现http.RoundTripper
,但是你可以提供自己完全不同的实现,只要它实现RoundTrip()
.
许多人已经使用它作为添加速率限制的方法(即它们提供了可以http.Transport
在封面下使用的实现,但是它们增加了限制程序发送或接收字节的速率的能力).
归档时间: |
|
查看次数: |
7304 次 |
最近记录: |