簡體   English   中英

PHP curl 嘗試通過代理連接時連接被拒絕

[英]PHP curl Connection refused when trying to connect through a proxy

我有以下代碼:

$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);

if ($use_proxy) {
    $proxies = [
        '(proxy-IP):3128' 
    ];
    $proxy_key = array_rand($proxies);
    $proxy = $proxies[$proxy_key];

    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
    curl_setopt($ch, CURLOPT_PROXY, $proxy);
}

$html = curl_exec($ch);

但是當我運行它並嘗試通過代理使用 curl 時,出現以下錯誤: 1003 毫秒后無法連接到 (proxy-ip) 端口 3128:連接被拒絕。

不過端口沒問題,IP沒問題。 顯然缺少了一些東西,但我一直在試驗代碼的變體,但我仍然無法連接到代理。

嘗試使用 CURLOPT_CONNECT_TO 而不是代理命令集。 https://www.php.net/manual/en/function.curl-setopt.php

curl_setopt($ch, CURLOPT_CONNECT_TO, ["$remote_ip:$remote_port:$proxy_ip:$proxy_port"]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM