簡體   English   中英

如何獲取請求 cookie 而不僅僅是響應 cookie

[英]How to get request cookies and not just response cookies

我正在向使用 cookie 跟蹤會話的網站發送請求。 令我困惑的部分是,當我進入登錄頁面並檢查時,chrome 首先發送 cookie? 這是我登錄之前。 我登錄后不應該收到 cookie 嗎? 這是網站: https : //unionline.uniongas.com/ul/Account/LogOn

您可以在請求 cookie 中看到有四個 cookie:“ULTICKET”、“ULRMUID”和“ULTOKEN”。 谷歌如何將這些發送到服務器而不必先獲取它們?

當我向https://unionline.uniongas.com/ul/Account/LogOn發送請求時,我只收到“ULTOKEN”cookie 而不是其他兩個。

我的代碼:

 s = requests.Session()
        
    headers = {
    'Connection': 'keep-alive',
    'Upgrade-Insecure-Requests': '1',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'Sec-Fetch-Site': 'none',
    'Sec-Fetch-Mode': 'navigate',
    'Sec-Fetch-User': '?1',
    'Sec-Fetch-Dest': 'document',
    'Accept-Language': 'en-US,en;q=0.9',
    }

    response = s.get('https://unionline.uniongas.com/ul/Account/LogOn', headers=headers)
    print(s.cookies.get_dict())
    

哪個打印:

{'ULTOKEN': ******}

我如何實際使用 Python 獲取所有請求 cookie?

謝謝

我還不能在這個網站上發表評論,所以我別無選擇,只能將它作為答案呈現,也許它甚至就足夠了,誰知道呢,因為你實際上在這里問了兩個問題。

如果您之前與網站的交互中沒有這些 cookie,我想說些什么?

我這輩子第一次連接到這個地址,瀏覽器在它的第一個請求中沒有發送任何 cookie,但它后來確實發送了 ULTOKEN。

這正如預期的那樣,因為瀏覽器無法知道隨機站點需要這樣那樣的 cookie,除非瀏覽器以某種方式對其進行了硬編碼,我自然懷疑這里可能是這種情況。

至於在請求部分發送 cookie,這有幫助嗎?

print(response.request.cookies)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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