1

我已经看到很多关于在 App Engine 上使用带有 url fetch 的 cookie 的问题,但是很多人做错了,并且在 Java App Engine 上没有确认为有效的解决方案。

我想做的就是:

  1. 提出一项要求
  2. 从该请求中获取 cookie。
  3. 使用这些 cookie 发出第二个请求。

它能有多难??

这在开发服务器上很容易做到,因为开发服务器会自动跨请求复制 cookie——而且实际上不可能阻止它这样做。但真正的 App Engine urlfetch 服务不会这样做

4

1 回答 1

2

利用

new HTTPRequest(url, HTTPMethod.GET, fetchOptions.doNotFollowRedirects())

创建请求对象。

出于某种原因,这doNotFollowRedirects()必不可少的。我不明白为什么。

然后从响应中获取 set-cookie 标头(名称为 的标头equalsIgnoreCase("Set-Cookie"))并创建相应的Cookie标头 - 修剪每个 Set-Cookie 标头中分号后的所有内容(如果有),然后将所有 cookie 连接在一起;作为分隔符.

这不能正确处理到期等问题,但这对于大多数用途来说应该足够了。

于 2012-11-27T16:25:06.550 回答