首页 >后端开发 >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