我有工作代码,通过他们的SOCKS 5协议使用我的VPN(NordVPN)凭证.
最近,他们已经放弃了对socks 5的支持,所以我不得不使用他们的其他协议,但是我无法让任何协议工作。
在这里可以看到他们所有可用的协议
https://nordvpn.com/servers/tools/
- IKEv2/IPSec
- OpenVPN
- Wireguard
- HTTP Proxy (SSL)
下面是我的代码,尝试使用他们的“HTTP代理(SSL)”协议
$cookie_file = tempnam("/tmp", "CURLCOOKIE");;
$ch = curl_init();
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_ENCODING, "");
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120); // in seconds
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_PROXYTYPE, 'HTTP');
curl_setopt($ch, CURLOPT_PROXYPORT, "443");
curl_setopt($ch, CURLOPT_PROXY, "au643.nordvpn.com");
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyUser . ":" . $proxyPass);
curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_COOKIESESSION, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_URL, $Url);
$result = curl_exec($ch);
curl_close($ch);
我得到的错误是
curl_exec(): supplied resource is not a valid cURL handle resource in ...
我不在乎是什么协议,只要它能起作用就行。
- 谢谢-谢谢
2条答案
按热度按时间z9smfwbn1#
在面对同样的问题后,我已经想出了解决办法
需要注意的一点是,对于NordVPN,您必须使用端口89进行HTTP代理(SSL),用户名和密码不是您的帐户用户名和密码,而是您的代理特定的凭据,您可以在您的帐户页面上找到。
也不要引用我的话,但我认为你需要使用PHP7.3+才能做到这一点。
esyap4oy2#
我们可以使用它与protonvpn或vpnbook?