Согласно urllib2 документам , атрибут .headers
объекта результирующего URL-адреса представляет собой httplib.HTTPMessage
(который, по-видимому, недокументирован, по крайней мере, в документах Python).
Тем не менее,
help(httplib.HTTPMessage)
...
If multiple header fields with the same name occur, they are combined
according to the rules in RFC 2616 sec 4.2:
Appending each subsequent field-value to the first, each separated
by a comma. The order in which header fields with the same field-name
are received is significant to the interpretation of the combined
field value.
Итак, если вы обращаетесь к u.headers ['Set-Cookie'], вы должны получить один заголовок Set-Cookie со значениями, разделенными запятыми.
Действительно, похоже, это так.
import httplib
from StringIO import StringIO
msg = \
"""Set-Cookie: Foo
Set-Cookie: Bar
Set-Cookie: Baz
This is the message"""
msg = StringIO(msg)
msg = httplib.HTTPMessage(msg)
assert msg['Set-Cookie'] == 'Foo, Bar, Baz'