Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
Closed
Description
Bug report
Bug description:
Description: According toRFC 9110, a recipient that parses a timestamp value in an HTTP field MUST accept all three HTTP-date formats. This includes the obsolete RFC 850 format, e.g.,Sunday, 06-Nov-94 08:49:37 GMT. However, the Python standard library modulehttp.cookies currently fails to parse this format, which leads to the cookie being discarded entirely.
Steps to Reproduce:
- Attempt to parse a cookie with a date in the obsolete RFC 850 format using the
http.cookiesmodule. - Observe that the module fails to parse the date, resulting in the cookie being discarded.
Code Example:
importhttp.cookiescookie_string='example=value; expires=Sunday, 06-Nov-94 08:49:37 GMT'cookie=http.cookies.SimpleCookie()cookie.load(cookie_string)# The expected behavior is that the cookie's expiration date is correctly parsed.# However, the module fails to parse the date in the obsolete RFC 850 format,# resulting in the cookie being discarded.print(cookie['example'].get('expires'))
Expected Behavior:
Thehttp.cookies module should correctly parse the obsolete RFC 850 date format and retain the cookie.
Actual Behavior:
The module fails to parse the date, resulting in aKeyError and the cookie being discarded.
CPython versions tested on:
CPython main branch
Operating systems tested on:
Linux