我试图通过HTTPS阻止对任何内容的请求
它适用于HTTP,但HTTPS似乎能完全避免我的代理。我在firefox中使用foxyproxy将其设置为使用我的代理。
以下代码将在浏览器请求通过HTTP请求时打印URL,但是通过HTTPS我什么也看不见。
任何想法为什么?
func DropHTTPS() net.Listener {
listener, _ = net.Listen(CONN_TYPE, CONN_HOST+":"+CONN_PORT)
proxy := goproxy.NewProxyHttpServer()
proxy.OnRequest().DoFunc(func (req *http.Request, ctx *goproxy.ProxyCtx) (*http.Request, *http.Response) {
log.Println("url: ", req.URL)
return req, nil
})
go http.Serve(listener, proxy)
return listener
}
编辑:
我刚刚阅读了HTTPS CONNECT
,也许这就是我需要处理HTTPS请求的事实。
goproxy库似乎有HTTPSHandler()
和HijackConnect()
可用,虽然我不想MITM连接,我只是想阻止它。
再次编辑: 此代码似乎在HTTP的不同端口上运行HTTPS代理。我不确定是否需要在Firefox中配置,或者我的代理只能在一个端口上侦听HTTP和HTTPS。
另外,我需要以不同的方式“倾听”吗?
HandleConnectFunc()
还是什么?