首頁 >後端開發 >php教程 >PHP 的 `file_get_contents()` 可以傳送自訂 HTTP 標頭嗎?

PHP 的 `file_get_contents()` 可以傳送自訂 HTTP 標頭嗎?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-28 08:30:11404瀏覽

Can PHP's `file_get_contents()` Send Custom HTTP Headers?

PHP 的 file_get_contents() 函數可以傳送 HTTP 標頭嗎?

在 PHP 中,file_get_contents() 是一個多功能的檔案 I/O 函數,它允許您也可以檢索 URL 的內容。然而,圍繞其發送 HTTP 標頭的能力存在一些混亂。

最初,file_get_contents() 沒有提供發送自訂 HTTP 標頭的直接方法。人們通常認為透過 php.ini 的用戶代理參數來設定這些標頭是唯一的選擇。

但是,在進一步檢查 file_get_contents() 文件後,發現 HTTP 標頭確實可以使用Stream_context_create() 函數。以下是範例:

// Create a stream context with custom HTTP headers
$opts = [
    "http" => [
        "method" => "GET",
        "header" => "Accept-language: en\r\n" .
            "Cookie: foo=bar\r\n"
    ]
];

// Create a stream context from the options
$context = stream_context_create($opts);

// Open the URL with the stream context
$file = file_get_contents('http://www.example.com/', false, $context);

透過遵循此方法,現在可以使用 file_get_contents() 傳送自訂 HTTP 標頭。需要注意的是,此方法尚未經過廣泛測試,因此您可能會遇到問題,具體取決於特定的標頭和伺服器配置。

以上是PHP 的 `file_get_contents()` 可以傳送自訂 HTTP 標頭嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn