使用虚拟 setcookie() PHP 页面进行一些额外的测试,我在 3 次测试中生成了以下标题集:
Set-Cookie: chocolate=chips
Set-Cookie: milk=shape
Set-Cookie: chocolate=chips; expires=Sun, 15-Nov-2009 18:47:08 GMT; path=/; domain=thaorius.net; secure; httponly
Set-Cookie: milk=shape
Set-Cookie: chocolate=chips; expires=Sun, 15-Nov-2009 18:46:25 GMT
Set-Cookie: milk=shape
httplib2 在数组的 set-cookie 键上实际提供的输出分别是每个标头对:
chocolate=chips, milk=shape
chocolate=chips; expires=Sun, 15-Nov-2009 18:31:00 GMT; path=/; domain=thaorius.net; secure; httponly, milk=shape
chocolate=chips; expires=Sun, 15-Nov-2009 18:38:21 GMT, milk=shape
所以看起来 httplib2 确实正确地处理了这个问题,但现在我遇到了另一个问题。expires 属性中的“,”。如您所见,cookie 以逗号分隔,但如何与 expires 属性区分。
我可以用逗号分割字符串,然后用“;”分割字符串,最后得到每个 cookie 的键值对,既方便又简单;但是用逗号过期,我不可能这样做。
所以,我在想,我可以使用一个正则表达式,它基本上会查找“expires=letters, num&letters nums:nums:nums absolutechars[,|;|$]” 并将其替换为 expires=STUB 之类的东西,就像我做的那样不太关心cookies的过期时间。
那么,有人会好心给我可以提供给 re.sub() 的正则表达式吗?到目前为止,我还没有真正需要正则表达式,因此我还没有学习它们,我真的不想为一个单一的 :) 浪费几天时间。