You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用NordVPN作为代理实现PHP Curl访问HTTPS链接遇问题求助

问题:使用NordVPN代理通过PHP Curl访问亚马逊澳洲站失败

尝试用NordVPN作为代理服务器,通过PHP Curl访问https://www.amazon.com.au时始终失败,但关闭代理设置后访问正常。以下是已尝试的配置(注释为测试过的选项)及调试信息:

已尝试的PHP Curl配置

curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,8);
//curl_setopt($curl, CURLOPT_PROXY, 'au695.nordvpn.com:443');     // PROXY details with port
//curl_setopt($curl, CURLOPT_PROXY, 'au695.nordvpn.com:1080');     // PROXY details with port
curl_setopt($curl, CURLOPT_PROXY, 'au695.nordvpn.com:89');     // PROXY details with port
curl_setopt($curl, CURLOPT_PROXYUSERPWD, $proxyauth);   // Use if proxy have username and password
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
//curl_setopt($curl, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); // If expected to call with specific PROXY type
//curl_setopt($curl, CURLOPT_PROXYAUTH, CURLAUTH_BASIC);
//curl_setopt($curl, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
//curl_setopt($curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);

Curl调试信息

*   Trying 103.107.197.83:89...
* Connected to au695.nordvpn.com (103.107.197.83) port 89 (#0)
* allocate connect buffer
* Establish HTTP proxy tunnel to www.amazon.com.au:443
* Proxy auth using Basic with user 'GFascTQQaDBxHrZULS4vnCgg'
> CONNECT www.amazon.com.au:443 HTTP/1.1
Host: www.amazon.com.au:443
Proxy-Authorization: Basic R0Zhc2NUUVFhREJ4SHJaVUxTNHZuQ2dnOkxzV0g1eHQ0UTdoVnF0N2k5bkFZODlSUw==
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36
Proxy-Connection: Keep-Alive

* Recv failure: Connection was reset
* Received HTTP code 0 from proxy after CONNECT
* CONNECT phase completed
* Closing connection 0

解决方案

1. 匹配代理端口与类型

NordVPN的不同端口对应不同代理协议,必须对应设置CURLOPT_PROXYTYPE:

  • 端口443:对应HTTPS代理,需设置CURLOPT_PROXYTYPE => CURLPROXY_HTTPS
  • 端口1080:对应SOCKS5代理,需设置CURLOPT_PROXYTYPE => CURLPROXY_SOCKS5
  • 端口89并非标准HTTP/SOCKS代理端口,大概率不支持HTTP隧道(CONNECT请求),建议放弃使用

2. 修正后的配置示例(以443端口为例)

$curl = curl_init('https://www.amazon.com.au');

// 延长连接超时时间,避免因网络延迟导致重置
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 15);
// 使用HTTPS代理端口
curl_setopt($curl, CURLOPT_PROXY, 'au695.nordvpn.com:443');
// 指定代理类型为HTTPS
curl_setopt($curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTPS);
// 代理凭据(格式:用户名:密码)
curl_setopt($curl, CURLOPT_PROXYUSERPWD, $proxyauth);
// 生产环境建议开启SSL验证,避免安全风险
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
// 启用返回内容捕获
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($curl);

// 捕获错误信息
if(curl_errno($curl)){
    echo 'Curl错误: ' . curl_error($curl);
}

curl_close($curl);

3. 额外排查点

  • 确认$proxyauth的格式为用户名:密码,无拼写或格式错误
  • 测试代理服务器是否可正常连通:用telnet au695.nordvpn.com 443或curl -x https://au695.nordvpn.com:443 -U "用户名:密码" https://www.amazon.com.au在命令行验证
  • 若使用SOCKS5代理(1080端口),需确保PHP Curl编译时包含SOCKS5支持

内容的提问来源于stack exchange,提问作者thydzik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 15:46:49