我已经看到很多关于在App Engine上使用带有url fetch的cookie的问题,但很多人做错了,而且在Java App Engine上没有确认为工作的解决方案。
我想做的就是:
它有多难?
这在开发服务器上很容易实现,因为开发服务器会自动在请求之间复制cookie - 事实上,不可能阻止它执行此操作。但真正的App Engine urlfetch服务不执行此操作。
答案 0 :(得分:2)
使用
new HTTPRequest(url, HTTPMethod.GET, fetchOptions.doNotFollowRedirects())
创建请求对象。
由于某种原因,doNotFollowRedirects()
必不可少。我不明白为什么。
然后从响应中获取set-cookie标头(名称为equalsIgnoreCase("Set-Cookie")
的标头)并创建相应的Cookie
标头 - 在每个Set-Cookie标头中的分号后修剪所有内容,如果有的话一个,然后将所有cookie与;
连接在一起作为分隔符。
这不能正确处理到期等,但这对于大多数用途来说应该足够了。