前言
當你使用 PHP 進行 cURL 要求的時候,如果你又剛好有一個 SOCKS5 代理伺服器,那你就可以讓這個要求透過代理去發送,來使你自己隱藏在一個代理伺服器後面。如果你有這樣的需求,那你可以接著看下去。
操作方式
你可以使用以下參數讓 cURL 用上你的代理:
<?php
curl_setopt($curl, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
curl_setopt($curl, CURLOPT_PROXY, "192.168.1.2:1080");
?>
其中,上述範例的 192.168.1.2:1080
就是你指定的 SOCKS5 代理伺服器。
放在一個 cURL 陣列可能是長這樣的:
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://www.google.com',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_NONE,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(),
CURLOPT_PROXYTYPE => CURLPROXY_SOCKS5,
CURLOPT_PROXY => "192.168.1.2:1080"
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
這樣你就可以使你的 cURL 經由 SOCKS5 代理伺服器發出要求囉。