登录
首页 >  Golang >  Go问答

使用 Socks4 代理来实现 HTTP 客户端连接

来源:stackoverflow

时间:2024-03-24 18:09:36 272浏览 收藏

为了使用 Socks4 代理实现 HTTP 客户端连接,可以通过使用 h12.io/socks 库来扩展 net/http/transport 的代理支持。该库提供了一个 Socks4 拨号程序,可以通过将它传递给 transport 的 Dial 字段来实现 Socks4 连接。通过这种方法,可以将 HTTP 客户端配置为使用 Socks4 代理发送请求。

问题内容

这是我当前使用 socks5 的解决方案。有什么解决方案可以让 socks4 工作吗?我想使用 socks4 发送 get 请求。

proxyUrl, err := url.Parse("socks5://123.123.123.123:9999")
myClient := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxyUrl)}}

解决方案


net/http/transport 仅支持开箱即用的 httphttpssocks5 代理(引用文档):

要使用 socks4socks4a 代理,您可以使用现有库,例如 h12.io/socks,然后将 socks4 拨号传递给 transport,如下所示:

import "h12.io/socks"
dial := socks.Dial("socks4://123.123.123.123:9999")
transp := &http.Transport{Dial: dial}
myClient := &http.Client{Transport: transp}

今天关于《使用 Socks4 代理来实现 HTTP 客户端连接》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>