python - 是新浪微博的cookies格式不对还是http.cookies的bug?
高洛峰
高洛峰 2017-04-18 10:25:51
0
1
440

登录新浪微博时获取到cookies的expiresSaturday, 06-Mar-2027 02:32:46 GMT;这样的格式,但是http.cookies库解析时expires的需要的格式是Sat, 06-Mar-2027 02:32:46 GMT;,使用的正则表达式如下:

_CookiePattern = re.compile(r"""
    \s*                            # Optional whitespace at start of cookie
    (?P<key>                       # Start of group 'key'
    [""" + _LegalKeyChars + r"""]+?   # Any word of at least one letter
    )                              # End of group 'key'
    (                              # Optional group: there may not be a value.
    \s*=\s*                          # Equal Sign
    (?P<val>                         # Start of group 'val'
    "(?:[^\\"]|\\.)*"                  # Any doublequoted string
    |                                  # or
    \w{3},\s[\w\d\s-]{9,11}\s[\d:]{8}\sGMT  # Special case for "expires" attr
    |                                  # or
    [""" + _LegalValueChars + r"""]*      # Any word or empty string
    )                                # End of group 'val'
    )?                             # End of optional value group
    \s*                            # Any number of spaces.
    (\s+|;|$)                      # Ending either at space, semicolon, or EOS.
    """, re.ASCII | re.VERBOSE)    # re.ASCII may be removed if safe.

这个正则表达式解析微博cookies时会在expries处出错,需要把\w{3}改成\w{3,9}才能正确解析微博的cookies。
我想问的是http有对expries规定格式吗?这个bug是属于新浪不按格式还是http.cookies解析不兼容?而使用requests库解析时没有有题。

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(1)
阿神

Sina가 작성한 토요일이어야 하며 브라우저가 완료합니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!