[英]PHP get raw cookie
也許這是一個重復的問題,但我找不到。
問題是我在瀏覽器中有一個存儲的cookie,例如username=test+1@test.com
,當我從php $_COOKIE["username"]
讀取它時,得到的是test 1@test.com
。 我想要的cookie不帶URL解碼,只是瀏覽器發送它的方式。 我知道存在setrawcookie()
,我想要類似的東西(例如getrawcookie
)。
謝謝
基於dubafek的評論,我構建了此程序以獲取原始Cookie值:
$raw_cookies = (array_reduce(
explode(';', $_SERVER['HTTP_COOKIE'] ?? ''),
function($carry, $item) {
$pair_arr = explode('=', $item);
$carry[ trim($pair_arr[0]) ] = trim($pair_arr[1]);
return $carry;
},
[]
) ?: []);
從那里可以像$_COOKIE
一樣使用$raw_cookies
。 在curl調用中轉發cookie時,我需要具有原始值。
編輯: $raw_cookies
和$_COOKIE
的鍵之間有細微差別。 例如,帶有鍵connect.sid
的cookie將出現在$_COOKIE['connect_sid']
和$raw_cookies['connect.sid']
。 我不確定PHP對cookie鍵進行了哪些轉換,因此在您的特定實現中可能需要考慮也可能不需要考慮。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.