1
回答
让人哭笑不得的原因(golang的cookie)
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

我用go语言,以glype网页代理为中转访问网页的时候,登录总是出现问题,登录显示成功实际却是没有登录过一样。

用fiddler2查了下,是因为cookie管理的问题,glype设定的cookie丢了好多。

于是自己弄了个cookiejar上去,非常单纯的把所有的cookie都更新,或者都取出。

结果还是不行。

从源码里查了下,结果是go语言http库的response中取出cookie时,把不符合规范的cookie全扔了!

这些扔了的cookie当然不会被使用了,可glype的cookie除了一个“s”,全是这种的……

c[baidu.com][/][hahaha]=abcdefg
没办法只好把Transport包装了一下,在RoundTrip开始和结束的位置进行cookie的管理……

golang很多地方都是这样,它严格的遵守RFC规定,可是现实网络可不是啊……

举报
刘地
发帖于4年前 1回/3K+阅
顶部