首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP cURL 設定 SOCKS5 代理的完整範例

     編輯:PHP 相關知識

PHP cURL 設定 SOCKS5 代理的完整範例

當需要透過 SOCKS5 代理進行 cURL 請求時,必須正確設定 CURLOPT_PROXYTYPE、CURLOPT_PROXY 及認證資訊。

核心設定代碼

$ch = curl_init();
// 設定代理類型為 SOCKS5
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
// 代理 IP 與埠
curl_setopt($ch, CURLOPT_PROXY, "127.0.0.1:1080");
// 代理認證(若無需認證可省略)
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "username:password");

// 其他常見設定
curl_setopt($ch, CURLOPT_URL, "https://httpbin.org/ip");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);

$response = curl_exec($ch);
if (curl_errno($ch)) {
    echo '錯誤:' . curl_error($ch);
} else {
    echo $response;
}
curl_close($ch);

關鍵參數說明

常數說明
CURLPROXY_SOCKS5使用 SOCKS5 協定(含遠端 DNS 解析)
CURLPROXY_SOCKS5_HOSTNAMESOCKS5 但由本地端解析 DNS
CURLOPT_PROXY代理伺服器位址,格式 IP:PORT
CURLOPT_PROXYUSERPWD代理認證帳密,格式 user:pwd

常見問題排查

  • 確認 PHP 安裝了 cURL 擴展且支援 SOCKS(需 libcurl 7.21.7+)。
  • 防火牆或 SELinux 可能阻擋連出連線。
  • 代理伺服器需允許目標連線埠(如 443)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved