鍍金池/ 問答/PHP/ Header頭怎么傳遞數(shù)據(jù)?

Header頭怎么傳遞數(shù)據(jù)?

我看別人說header頭可以傳遞token值 請(qǐng)問是怎么傳遞的呢?能舉個(gè)例子嗎

回答
編輯回答
氕氘氚

clipboard.png

header包含的數(shù)據(jù)格式是key-value

在頁(yè)面可以使用ajax設(shè)置值:xhr.setRequestHeader('k', 'v');

2017年4月21日 20:35
編輯回答
涼心人

也可以放在cookie中,客戶端服務(wù)端也都能拿到

2017年7月20日 19:52
編輯回答
離魂曲

在瀏覽器中,你可以使用 XMLHttpRequset 在頭部傳遞傳遞token值

var xhr = new XMLHttpRequest();

xhr.open('get','/index');

xhr.setRequestHeader('token', 'xxxxx'); // xxxx 就是你的token值

xhr.send();

// xhr.getResponseHeader('token') // 可以獲取從服務(wù)器帶來的 token值 

而在服務(wù)器端,以express舉例

const app = new express();
app.get('/index', (req, res) => {
  req.header('token') // 獲取從瀏覽器端傳送過來的token 值 
  res.status(200);
  res.header('token', 'xxxxx'); // xxxxx 就是你的token值
  res.send('hello world');
});
2018年1月2日 10:41
編輯回答
愿如初

我做sso就直接用header傳的token checksum等數(shù)據(jù)。

傳輸(curl時(shí)):
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json', 'xxxx你定義的header數(shù)據(jù)名 '. 'xxxx您要傳的token/checksum等等'));
獲取:
$headers = array ();
foreach ( $_SERVER as $name => $value ) {
    if (substr ( $name, 0, 5 ) == 'HTTP_') {
        $headers [str_replace ( ' ', '-', ucwords ( strtolower ( str_replace ( '_', ' ',substr ( $name, 5 ) ) ) ) )] = $value;
    }
}
 //$headers就是個(gè)數(shù)組了。
2017年6月26日 16:52
編輯回答
黑與白

自定義一個(gè)header,譬如叫x-token,然后值就是你的token

2017年11月27日 01:16
編輯回答
檸檬藍(lán)
<?php
header('Token: 11111111111111111');
事實(shí)header支持自定義頭,只是行業(yè)的原因,會(huì)有一些系統(tǒng)名詞作為行業(yè)規(guī)范,如cookie代表cookie等
2017年1月30日 05:50