我有一个 Web 客户端,它将一个带有登录凭据的 JSON 对象发送到远程服务器。然后,远程服务器返回该 Cookie。之后,我需要将数据与cookie一起发布到该远程服务器。但是,我无法弄清楚如何在POST中重复使用cookie。
据我所知,登录响应给出了以下结构,但是在POST上设置cookie的代码需要或只是。MultiValueMap<String, ResponseCookie>MultiValueMap<String, String>cookie(String, String)
我假设我一定错过了一些转换器的魔力,但那又如何呢?我甚至需要退回整个饼干吗?
饼干看起来像这样;
{SSO_Sticky_Session-47873-loadBalancedAdminGrp=[SSO_Sticky_Session-47873-loadBalancedAdminGrp=BNAMAKAKJABP; Path=/; HttpOnly], AUTH_TOKEN=[AUTH_TOKEN=v0l3baVZejIKjdzA1KGpkz4ccnosE6rKLQig1D2bdb-voFmVrF_aaYgzWl3Yc8QK; Path=/], uid=[uid=sjzipQdBtU30OlVbPWtDK2625i24i6t6g3Rjl5y5XcI=; Path=/], __cfduid=[__cfduid=dd872f39fd1d3bfe2a5c7316cd9ff63cd1554623603; Path=/; Domain=.aDomain.net; Max-Age=31535999; Expires=Mon, 6 Apr 2020 07:53:23 GMT; HttpOnly], JSESSIONID=[JSESSIONID=A264A713AD060EE12DA8215AEF66A3C0; Path=/aPath/; HttpOnly]}
我的代码在下面。为了简洁起见,我删除了内容类型;
WebClient webClient = WebClient.create("https://remoteServer");
MultiValueMap<String, ResponseCookie> myCookies;
webClient
.post()
.uri("uri/login")
.body(Mono.just(myLoginObject), MyLogin.class)
.exchange()
.subscribe(r ->
System.err.println("Received:" + r.cookies());
myCookies = r.cookies();
);
webClient
.post()
.uri("/uri/data")
.cookies(????) // what goes here ??
.body(....)
.exchange();
当年话下
动漫人物
幕布斯7119047
相关分类