如何在php中添加自定义请求标头

时间:2015-09-21 11:04:57

标签: php http-headers

我想将自定义标头发送到域。

我尝试了以下内容:

header("myheader: value1");
//i want to redirect above header to a samplesite now
header('Location: http://localhost/samplesite', FALSE);
exit;

现在在samplesite中,我无法获得myheader。 如何实现它,请帮助我。

2 个答案:

答案 0 :(得分:0)

您只需使用file_get_contents()发送自定义标头,并为其指定上下文。

它看起来像这样:

$data = http_build_query(array("username" => $uid));
$opts = array (
    'http' => array (
        'method' => 'POST',
        'header'=> "Content-type: application/x-www-form-urlencoded\r\n"
            . "Content-Length: " . strlen($data) . "\r\n",
        'content' => $data
        )
    );

$context  = stream_context_create($opts);
$returnedData= file_get_contents("example.com", false, $context);

请记住,远程主机需要允许此类请求,否则您将收到错误

您尝试在示例中使用的header()函数只会更改从服务器发回的标头,因此header('Location: http://localhost/samplesite', FALSE);只是一个简单的重定向到该网站。

答案 1 :(得分:-1)

如果您已经有请求并且需要添加请求头,请尝试set函数

$request->headers->set('key', $value);