Один и тот же куки получен дважды, как обращаться с клиентом? - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь написать клиент для какого-то веб-приложения. В какой-то момент он отправляет следующий Set-cookie:

JSESSIONID=1BDC39CBF91C299C3330963D1EEFE399; Path=; HttpOnly; Secure, JSESSIONID=E6FFF3B159AFB9575D47662FC70DC161; Path=/; Secure; HttpOnly, XSESSIONID=b163abe6-bd6c-4381-9f68-01eeaee15a6c; Path=/; Secure; HttpOnly

Мне неясно, что означает иметь одно и то же имя файла cookie дважды и что я должен отправить обратно на сервер?

Я проверил это с помощью следующего кода Python:

import sys

if sys.version_info.major == 2:
    from Cookie import SimpleCookie
else:
    from http.cookies import SimpleCookie

set_cookie = "JSESSIONID=1BDC39CBF91C299C3330963D1EEFE399; Path=; HttpOnly; Secure, JSESSIONID=E6FFF3B159AFB9575D47662FC70DC161; Path=/; Secure; HttpOnly, XSESSIONID=b163abe6-bd6c-4381-9f68-01eeaee15a6c; Path=/; Secure; HttpOnly"

cookies = SimpleCookie()
cookies.load(set_cookie)

for name in cookies.keys():
    print("{} = {}".format(name, cookies[name].value))
    for field in ['secure', 'httponly', 'path']:
        print("   {}: {}".format(field, cookies[name][field]))

Код Python 2 показывает только один из дубликатов ключей. Версия Python 3 вообще не распознает это.

$ /usr/bin/python cookie.py 
XSESSIONID = b163abe6-bd6c-4381-9f68-01eeaee15a6c
   secure: True
   httponly: True
   path: /
JSESSIONID = E6FFF3B159AFB9575D47662FC70DC161
   secure: True
   httponly: True
   path: /

$ python3 cookie.py 

Итак, я хотел бы понять, что означает наличие одного и того же ключа дважды и что следует отправлять обратно на сервер? Было бы также хорошо понять, почему библиотека Python 3 игнорирует всю строку. Что мне нужно сделать, чтобы это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...