gpt4 book ai didi

java - 退出 HttpClient session

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:28:06 24 4
gpt4 key购买 nike

如何退出 HttpClient session ?

我使用以下代码登录到使用 Apache HttpClient 的应用程序

public HttpClient loginToHexgen(String username, String password) {
HttpClient client = new DefaultHttpClient();

// send post url to login to hexgen
HttpPost post = new HttpPost("http://localhost:8080/j_spring_security_check");

try {
// set the user name and password
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("j_username", username));
nameValuePairs.add(new BasicNameValuePair("j_password", password));

post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = client.execute(post);

HttpEntity entity = response.getEntity();

if (entity != null) {
post.abort();
}
} catch (IOException e) {
e.printStackTrace();
}
return client;
}

像下面这样:

HttpClient client = new DefaultHttpClient();
client= httpRequest.loginToHexgen("mayank", "hexgen");

这里的httpRequest是使用loginToHexgen方法的类。

如果我想用不同用户名和密码的多个用户登录系统怎么办?

例如,在同一个 session 中,我想注销一个用户并使用另一个用户登录。

最佳答案

您可以使用变通方法——向具有新 cookieStore 的新用户发送请求。

// Create a local instance of cookie store
cookieStore = new BasicCookieStore();
// Set the store
httpClient.setCookieStore(cookieStore);

服务器将为您的新用户打开一个新 session 。请注意,旧 session 不会关闭。我不建议使用这种方式。

session 管理在服务器端执行——你不能在客户端执行。我建议在测试结束时调用服务器 URL,这将使服务器端的 session 无效。(一般使用Form认证的应用都有注销功能,你只需要使用即可)

关于java - 退出 HttpClient session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16515173/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com