我在编写自己的反向代理时正在处理这个 python 错误。服务器正在向我的代理发送此Set-Cookie
响应标头:
workgroup_session_id=ilDJtR0rE1AG28C9ZxKLHj8TBtcT89sw; Path=/; Expires=Sun, 02-Dec-2012 5:57:25 GMT; HttpOnly
我正在将此字符串从模块加载到一个SimpleCookie
实例中。Cookie
不幸的是,由于我上面提到的错误,当我后来expires
退出 morsel 字典时,它返回Sun,
. 我发现我可以通过Expires
在标题的组件周围Set-Cookie
添加引号(或在值中包含空格的任何键/值对周围添加引号)来克服这个错误。
所以这:
workgroup_session_id=ilDJtR0rE1AG28C9ZxKLHj8TBtcT89sw; Path=/; Expires=Sun, 02-Dec-2012 5:57:25 GMT; HttpOnly
会成为:
workgroup_session_id=ilDJtR0rE1AG28C9ZxKLHj8TBtcT89sw; Path=/; Expires="Sun, 02-Dec-2012 5:57:25 GMT"; HttpOnly
和这个:
test=a b c; Path=/; Expires=a b c; HttpOnly
会成为:
test="a b c"; Path=/; Expires="a b c"; HttpOnly
我知道我可以将字符串分解为标记并循环遍历它们以查找空格,然后重建字符串,但我很好奇性能最佳的解决方案是什么。正如我所提到的,这是一个可能每秒处理几百个请求的反向代理,所以我希望这种替换尽可能快。
正则表达式替换(当然是预编译的)会有效吗?我听说正则表达式很重......