答案 0 :(得分:7)
不,您无法使用默认http.Client
执行此操作,但net/http/httputil
有ClientConn
,这是一个直接包装{{1}的低级http客户端}}。它具有劫持功能,可在标准net.Conn
上运行。
http://golang.org/pkg/net/http/httputil/#ClientConn
此外,由于您控制双方,并且您不应该看到任何太意外的事情,因此直接将请求直接写入TCP连接可能更容易(或者如果您想要使用http.Request
以这种方式构建请求)