go - 使用 golang 1.10.2 连接到带有 IKEv2 证书的 socks5 代理
问题描述
我将 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 密钥文件。
所以..首先..我该怎么做?
并且第二个...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 证书
解决方案
推荐阅读
- php - getText 不起作用(网站本地化)
- python - Django 键错误:启动表单时出现“template.html”请求时出现 KeyError
- google-chrome - 即使在屏幕上未选中,Chrome 也会打印已选中的 PDF 复选框
- css - Sass - 通过 Webpack Mix - 忽略选项
- java - 检查数据库中是否存在数据,如果使用多个线程找不到则插入新数据?
- reactjs - React 需要一个 peer React-Dom
- jsf - 在休息服务中访问人脸会话
- webpack - Webpack 插件:webpack-contrib/closure-webpack-plugin 和 google/closure-compiler-js 之间的区别?
- python - 在带有多个分隔符的 pandas 中读取多索引 CSV
- java - 未捕获异常情况下的Tomcat HttpThread池异常处理