Converting cookie string into Python dict

前端 未结 2 1610
耶瑟儿~
耶瑟儿~ 2021-02-19 22:24

In Fiddler, I captured an HTTPS request with the following cookie string sent from the client (visible in Inspectors > Raw):

Cookie: devicePixelRatio=1; ident=ex         


        
2条回答
  •  一生所求
    2021-02-19 22:46

    You should be able to use SimpleCookie which is available in the standard Python library:

    from http.cookies import SimpleCookie
    
    rawdata = 'Cookie: devicePixelRatio=1; ident=exists; __utma=13103r6942.2918; __utmc=13103656942; __utmz=13105942.1.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); mp_3cb27825a6612988r46d00tinct_id%22%3A%201752338%2C%22%24initial_referrer%22%3A%20%22https%3A%2F%2Fwww.pion_created_at%22%3A%20%222015-08-03%22%2C%22platform%22%3A%20%22web%22%2C%%22%3A%20%%22%7D; t_session=BAh7DUkiD3Nlc3NpbWVfZV9uYW1lBjsARkkiH1BhY2lmaWMgVGltZSAoVVMgJiBDYW5hZGEpBjsAVEkiFXNpZ25pbl9wZXJzb25faWQGOwBGaQMSvRpJIhRsYXN0X2xvZ2luX2RhdGUGOwBGVTogQWN0aXZlU3VwcG9ydDo6VGltZVdpdGhab25lWwhJdToJVGltZQ2T3RzAAABA7QY6CXpvbmVJIghVVEMGOwBUSSIfUGFjaWZpZWRfZGFzaGJvYXJkX21lc3NhZ2UGOwBGVA%3D%3D--6ce6ef4bd6bc1a469164b6740e7571c754b31cca'
    cookie = SimpleCookie()
    cookie.load(rawdata)
    
    # Even though SimpleCookie is dictionary-like, it internally uses a Morsel object
    # which is incompatible with requests. Manually construct a dictionary instead.
    cookies = {}
    for key, morsel in cookie.items():
        cookies[key] = morsel.value
    

    If you are using Python 2, you will have to import from Cookie instead of http.cookies.

    Docs:

    https://docs.python.org/2/library/cookie.html

    https://docs.python.org/3/library/http.cookies.html

提交回复
热议问题