Javascript 当使用java访问REST服务时,无法在同一地址登录
我点击了其余的URLJavascript 当使用java访问REST服务时,无法在同一地址登录,javascript,java,rest,session-cookies,cookie-httponly,Javascript,Java,Rest,Session Cookies,Cookie Httponly,我点击了其余的URL https://db2adminpc1:9443/rest/bpm/wle/v1/search/query?organization=byInstance&run=true&shared=false&filterByCurrentUser=true 使用HttpURLConnection类,我在inputstream中获取SJON数据 但在我的要求中,当我在chrome浏览器中打开URL时,它应该存储某种令牌或cookie来验证URL。 您可以在下
https://db2adminpc1:9443/rest/bpm/wle/v1/search/query?organization=byInstance&run=true&shared=false&filterByCurrentUser=true
使用HttpURLConnection类,我在inputstream中获取SJON数据
但在我的要求中,当我在chrome浏览器中打开URL时,它应该存储某种令牌或cookie来验证URL。
您可以在下面找到代码:
byte[] encodedBytes = Base64.getEncoder().encode(Data.getBytes());
URL url = new URL(
"https://db2adminpc1:9443/rest/bpm/wle/v1/search/query?organization=byInstance&run=true&shared=false&filterByCurrentUser=true");
connection = (HttpURLConnection) url.openConnection();
String encoding = new String(encodedBytes);// "cGNhZG1pbjpwY2FkbWlu";
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setRequestProperty("Authorization", "Basic " + encoding);
connection.getRequestProperty("Set-Cookie");
System.out.println("Session iD " + connection.getHeaderField("Set-Cookie"));
System.out.println("Session iD " + connection.getHeaderField("Set-Cookie"));
if (connection.getResponseCode() == 200) {
InputStream content = (InputStream) connection.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(content));
while ((line = in.readLine()) != null) {
// System.out.println(line);
sb.append(line);
}
content.close();
} else {
sb.append("\"Username And Password Does Not Match!!!\"");
}
}
更新我可以读取LTPatoken2,但不知道如何在本地主机cookie中放置或存储URL,也不知道如何对URL进行身份验证,因为HttpURLConnection
无法维护cookie,因此您必须在第一次访问URL时将设置cookie
头保存到字符串
实例中,然后,对于下一个请求,您应该通过call方法setRequestProperty
设置名为Cookie
的请求头。当然,您可以使用HttpClient库,它可以自动维护Cookie我可以获取Cookie,基本上我使用localhost调用rest服务到WebSphere。我希望它将Cookie存储到我的WebSphere URL中。