溫馨提示×

如何在 PHP 中設置 HTTP 代理設置

PHP
小云
176
2023-09-26 09:32:33
欄目: 編程語言

在 PHP 中設置 HTTP 代理設置可以通過修改 stream_context 的參數來實現。下面是一個示例代碼:

$proxy = 'tcp://proxy.example.com:8080'; // 代理地址
$proxyAuth = 'username:password'; // 代理認證信息
$context = stream_context_create([
'http' => [
'proxy' => $proxy,
'request_fulluri' => true,
'header' => "Proxy-Authorization: Basic " . base64_encode($proxyAuth)
]
]);
$url = 'http://www.example.com'; // 要訪問的 URL
$response = file_get_contents($url, false, $context); // 使用代理訪問 URL
var_dump($response);

在上述代碼中,首先定義了代理地址和認證信息。然后創建了一個 stream_context 上下文對象,并將代理地址、請求完整的 URI 和代理認證信息設置到 http 參數中。最后,使用 file_get_contents() 函數訪問指定的 URL,并傳入上下文對象作為第三個參數。

請注意,如果要使用代理認證信息,則需要提供正確的用戶名和密碼,并使用 Base64 編碼格式進行認證。另外,request_fulluri 參數設置為 true 是為了讓 PHP 使用完整的 URI,而不只是路徑部分。

如果你使用的是 cURL 擴展,也可以使用 curl_setopt() 函數來設置代理,如下所示:

$proxy = 'proxy.example.com';
$port = 8080;
$username = 'username';
$password = 'password';
$ch = curl_init();
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_PROXYPORT, $port);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, "$username:$password");
$url = 'http://www.example.com'; // 要訪問的 URL
curl_setopt($ch, CURLOPT_URL, $url);
$response = curl_exec($ch);
curl_close($ch);
var_dump($response);

上述代碼中,首先設置代理地址和端口,然后設置代理的用戶名和密碼。接著使用 curl_setopt() 函數設置相應的 cURL 選項,包括代理地址、代理端口和代理認證信息。最后,使用 curl_exec() 函數執行請求并獲取響應。

這兩種方法都可以設置 HTTP 代理,你可以根據自己的需求選擇適合的方法。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女