[英]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.