Java 如何从客户端获取jsessionId:DefaultHttpClient httpclient=new DefaultHttpClient();
但我得到的结果是:[]没有其他。我犯了什么错误,如何获取jsessionId,以便在以后需要将json数据发布到服务器时存储并使用它Java 如何从客户端获取jsessionId:DefaultHttpClient httpclient=new DefaultHttpClient();,java,android,httpclient,Java,Android,Httpclient,但我得到的结果是:[]没有其他。我犯了什么错误,如何获取jsessionId,以便在以后需要将json数据发布到服务器时存储并使用它 我需要jsessionId,因为我需要它,稍后我将把我的json数据发布到服务器上。你的方法是正确的,奇怪的是没有存储cookie。可能与?有关,但我的outpur是[]空的。如果您可以检查服务器日志会更好。可能是成功了,服务器没有向您发送任何响应。 HttpHost targetHost = new HttpHost("myhost",8080, "http")
我需要jsessionId,因为我需要它,稍后我将把我的json数据发布到服务器上。你的方法是正确的,奇怪的是没有存储cookie。可能与?有关,但我的outpur是[]空的。如果您可以检查服务器日志会更好。可能是成功了,服务器没有向您发送任何响应。
HttpHost targetHost = new HttpHost("myhost",8080, "http");
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(new
AuthScope(targetHost.getHostName(), targetHost.getPort()), new
UsernamePasswordCredentials("username", "password"));
// Create AuthCache instance
AuthCache authCache = new BasicAuthCache();
// Generate BASIC scheme object and add it to the local auth cache
BasicScheme basicAuth = new BasicScheme();
authCache.put(targetHost, basicAuth);
// Add AuthCache to the execution context
HttpClientContext context = HttpClientContext.create();
context.setCredentialsProvider(credsProvider);
context.setAuthCache(authCache);
HttpGet httpget = new HttpGet("/");
try {
HttpResponse response = httpclient.execute(targetHost, httpget, context);
System.out.println(httpclient.getCookieStore().getCookies());
} catch (Exception e) {
} finally {
try {
httpget.abort();}catch(Exception e){}
}
}
private void parseSessionID(HttpResponse response) {
try {
Header header = response.getFirstHeader("Set-Cookie");
String value = header.getValue();
if (value.contains("JSESSIONID")) {
int index = value.indexOf("JSESSIONID=");
int endIndex = value.indexOf(";", index);
String sessionID = value.substring(
index + "JSESSIONID=".length(), endIndex);
Logger.d(this, "id " + sessionID);
if (sessionID != null) {
classStaticVariable= sessionID;
}
}
} catch (Exception e) {
}