当使用下面的 httptest 服务器测试 https url 的获取请求时,我得到了 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
}
引用自 Code snippet
最佳答案
原来不是
s := httptest.NewServer(handler)
,
我应该用
s := httptest.NewTLSServer(handler)
获取 https 服务器。
关于http:服务器在 Golang httptest 中对 HTTPS 客户端给出了 HTTP 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62825107/