我需要以编程方式登录到后端服务器,该服务器将身份验证令牌作为 cookie 返回,然后使用该 cookie 来发出请求。我在 Lift 2.4 工作,我读到的所有内容似乎都建议使用 http-dispatch,但学习起来很麻烦!:-/ 由于我的 SBT 版本 (0.1-SNAPSHOT) 和 scala 版本 2.9.1,我在 dispatch-classic 中工作。所以我目前正在加载调度 0.8.6 库。
我在 https://groups.google.com/forum/#!msg/dispatch-scala/m7oWv2YAtjQ/imnkYoCDVUcJ找到了以下内容
对于检索 cookie:
要从响应中读取 cookie,您必须调用 Response#getCookies 方法。例如,您可以执行以下操作:
val res = Http(url("http://www.google.com/ig/api").addQueryParameter("weather", "Bonn, Germany"))
val response = for { r <- res } yield (r.getCookies, r.getResponseBody)
用于将 cookie 添加到后续请求:
url("http://www.google.com/ig/api").addCookie(cookie)
但我无法让它工作。我的首选是适用于 dispatch 0.8.6 的代码,但如果你可以让它在另一个版本中运行并且看不到那个版本不适用于我的 SBT 和 scala/Lift 版本,我会尝试使用你推荐的库版本。