在 PHP 中使用 SOCKS5 代理,您可以選擇使用 cURL 或者 Guzzle 這樣的 HTTP 客戶端庫
<?php
$url = 'http://example.com';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_PROXY, 'socks5://proxy.example.com:1080'); // 將此行替換為您的 SOCKS5 代理地址和端口
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, true);
$response = curl_exec($ch);
if ($response === false) {
echo 'Error: ' . curl_error($ch);
} else {
echo $response;
}
curl_close($ch);
?>
首先,確保已安裝 Guzzle 客戶端庫。如果尚未安裝,請運行以下命令進行安裝:
composer require guzzlehttp/guzzle
然后,使用以下代碼配置 SOCKS5 代理:
<?php
require 'vendor/autoload.php';
use GuzzleHttp\Client;
$url = 'http://example.com';
$proxy = 'socks5://proxy.example.com:1080'; // 將此行替換為您的 SOCKS5 代理地址和端口
$client = new Client([
'base_uri' => $url,
'timeout' => 5.0,
]);
try {
$response = $client->request('GET', '/', [
'proxy' => $proxy,
]);
echo $response->getBody();
} catch (\GuzzleHttp\Exception\RequestException $e) {
echo 'Error: ' . $e->getMessage();
}
?>
這些示例展示了如何在 PHP 中使用 cURL 和 Guzzle 配置 SOCKS5 代理。根據您的需求和喜好選擇一個庫進行實現。