go - 使用 golang 1.10.2 使用 IKEv2 证书连接到 socks5 代理

标签 go proxy socks

我的客户端应用程序使用 Go 1.10.2。

我正在尝试连接到需要用户名、密码和 IKEv2 证书文件的 socks5 代理。

这是我到目前为止所得到的:

 func socks5(proxyAdress string, url string, user string, password string) {
        auth := proxy.Auth{User: user, Password: password}
        if proxy, err := proxy.SOCKS5("tcp", proxyAdress, &auth, proxy.Direct);  err != nil {
            log.Fatalf("error: %v", proxy)
        } else {
            tr := &http.Transport{Dial: proxy.Dial}

            // Create client
            myClient := &http.Client{
                Transport: tr,
            }

            if resp, err2 := myClient.Get(url); err2 != nil {
                log.Fatalf("error: %v", err2)
            } else {
                if bodyBytes, err3 := ioutil.ReadAll(resp.Body); err3 != nil {
                    log.Fatalf("error: %v", err3)
                } else {
                    str := string(bodyBytes)
                    log.Printf(str)
                }

            }
        }
    }

当我用正确的参数执行这个函数时

我从服务器收到一条错误消息,提示我无权访问我请求的网页。那是因为我没有指定 IKEv2 key 文件。

所以..首先..我该怎么做?

和 2nd... Dial 已弃用。我应该使用 DialContext 但不知道如何使用

谢谢! :)

更新

我使用的操作系统是 MacOS High Sierra 10.13.4

问题是例如当我执行

socks5("il7.nordvpn.com:1080", "http://ifconfig.me/ip","MY_USER","MY_PASS")

我得到的错误是

2018/05/15 23:34:49 error: Get http://ifconfig.me/ip: socks connect tcp ifconfig.me:80->ifconfig.me:80: EOF

不知道在哪里提供IKEv2证书

最佳答案

我认为您需要先在计算机上设置 IPSec。

IPSec设置步骤

  1. 初始配置(第一次只有一次)
  2. 开始 VPN 连接

关注here

关于go - 使用 golang 1.10.2 使用 IKEv2 证书连接到 socks5 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50229024/

相关文章:

java - 代理背后的 UnknownHostException

ruby-on-rails - 我如何使用 Ruby on Rails 或其他工具在我自己的域中呈现站点?

c - C 语言的 Socks 5 客户端

windows - 使用socks4时的认证方式

c++ - QNetworkProxy 中的 Socks4 代理支持

go - golang exec.Command 程序的奇怪行为

go - 使用viper的配置文件在GO中给出空值

windows - 解决和清理输出问题

math - 一些运营商之间的区别 "|"、 "^"、 "&"、 "&^"。戈朗

python - 将 Scrapy 代理中间件设置为根据每个请求轮换