簡體   English   中英

PHP獲取原始cookie

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM