file_get_contents()设置请求方法、User Agent、cookie、自定义header

服务端

<?php
// 把{$_SERVER}输出到文件方便查看
$server = var_export($_SERVER, true);
file_put_contents(__DIR__ . '/server.txt', $server);

echo "本次请求方法为:{$_SERVER['REQUEST_METHOD']}" . PHP_EOL;

// 获取cookie
if (isset($_COOKIE['name'], $_COOKIE['age'])) {
    echo "俺叫{$_COOKIE['name']},今年{$_COOKIE['age']}岁。" . PHP_EOL;
}

// 获取自定义header
if (isset($_SERVER['HTTP_MY_HEADER_NAME'], $_SERVER['HTTP_MY_HEADER_AGE'])) {
    echo "俺叫{$_SERVER['HTTP_MY_HEADER_NAME']},今年{$_SERVER['HTTP_MY_HEADER_AGE']}岁。" . PHP_EOL;
}



客户端

<?php
$url = 'http://www.domain.com/server.php';

$options = [
    'http' => [
        'method' => 'POST', // 修改请求方法,缺省值为GET
        'header' =>
            'User-Agent: MaNong-UA' . PHP_EOL . // 修改UA
            'Cookie: name=张三; age=18' . PHP_EOL . // 设置Cookie
            'My-Header-Name: 李四' . PHP_EOL . // 设置自定义header,服务端取值时需使用“$_SERVER['HTTP_MY_HEADER_NAME']”
            'My-Header-Age: 17' . PHP_EOL, // 设置自定义header,服务端取值时需使用“$_SERVER['HTTP_MY_HEADER_AGE']”
    ],
];

$context = stream_context_create($options);

$contents = file_get_contents($url, false, $context);
echo $contents;
//========== 输出结果 ==========//
// 本次请求方法为:POST
// 俺叫张三,今年18岁。
// 俺叫李四,今年17岁。

Copyright © 2024 码农人生. All Rights Reserved