当使用下面的 httptest 服务器测试 https url 的 get 请求时,我得到了 http: 服务器在 Golang httptest 中向 HTTPS 客户端提供了 HTTP 响应。当我使用以“http://”开头的 URL 时,它工作正常
func testingHTTPClient(handler http.Handler) (*http.Client, func()) {
s := httptest.NewServer(handler)
cli := &http.Client{
Transport: &http.Transport{
DialContext: func(_ context.Context, network, _ string) (net.Conn, error) {
return net.Dial(network, s.Listener.Addr().String())
},
},
}
return cli, s.Close
}
Run Code Online (Sandbox Code Playgroud)
参考 代码片段
事实证明,而不是
s := httptest.NewServer(handler),
我应该使用
s := httptest.NewTLSServer(handler)
获取 https 服务器。
| 归档时间: |
|
| 查看次数: |
3151 次 |
| 最近记录: |