将 cookie 从 HTMLUnit 转换为 HTTPBuilder?

发布于 2024-09-04 10:15:22 字数 408 浏览 3 评论 0原文

我正在这样做(在 Groovy 中):

def cookies=webClient.cookieManager.cookies
def http=new HTTPBuilder("myurl")
http.request(POST) {
   def headersCookie=''
   cookies.eachWithIndex() { cookie,i->
   if (i>0) {
       headersCookie+='; '
   }
   headersCookie+=cookie.getName()+"="+cookie.getValue()
 }
 headers.'Cookie'=headersCookie

 ...
}

有更好/更少的 hacky 方法吗?

谢谢 米沙

I am doing this (in Groovy):

def cookies=webClient.cookieManager.cookies
def http=new HTTPBuilder("myurl")
http.request(POST) {
   def headersCookie=''
   cookies.eachWithIndex() { cookie,i->
   if (i>0) {
       headersCookie+='; '
   }
   headersCookie+=cookie.getName()+"="+cookie.getValue()
 }
 headers.'Cookie'=headersCookie

 ...
}

Is there a better/less hacky way?

Thank you
Misha

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

苍风燃霜 2024-09-11 10:15:22

这是一种更绝妙的方法:

def cookies=webClient.cookieManager.cookies
def http=new HTTPBuilder("myurl")
http.request(POST) {
 headers.'Cookie'=cookies.collect{it.name+"="+it.value}.join("; ")

 ...
}

Here's a groovier way of doing it:

def cookies=webClient.cookieManager.cookies
def http=new HTTPBuilder("myurl")
http.request(POST) {
 headers.'Cookie'=cookies.collect{it.name+"="+it.value}.join("; ")

 ...
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文