PHP file_get_contents() 和设置请求头

标签 php http-headers

使用 PHP,是否可以使用 file_get_contents() 发送 HTTP header ?

我知道您可以从您的 php.ini 文件发送用户代理。但是,您还可以使用 file_get_contents() 发送其他信息,例如 HTTP_ACCEPTHTTP_ACCEPT_LANGUAGEHTTP_CONNECTION 吗?

或者是否有其他功能可以完成此操作?

最佳答案

实际上,在进一步阅读 file_get_contents() 函数后:

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

// DOCS: https://www.php.net/manual/en/function.stream-context-create.php
$context = stream_context_create($opts);

// Open the file using the HTTP headers set above
// DOCS: https://www.php.net/manual/en/function.file-get-contents.php
$file = file_get_contents('http://www.example.com/', false, $context);

您也许可以遵循此模式来实现您的目标,但我还没有亲自测试过。 (如果它不起作用,请随时查看我的其他答案)

关于PHP file_get_contents() 和设置请求头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35878187/

相关文章:

python - 解析原始 HTTP header

php - 在 Flot Graph 中用 PHP 变量替换时间戳

C# 异步 Web 服务器 - 如何将数据发送到客户端

php - 使用codeigniter上传图片错误

php - 为什么要使用 CakePHP 的 HTML Helpers?

c# - 从 WCF 服务查看 HTTP header

perl - 如何使用 Perl 为 HTTP 请求发送不正确的 Content-Length header ?

http - 什么是 HTTP "Host" header ?

PHP exif_read_data 非法 IFD 大小

php - 将变量传递给嵌套函数调用