使用登录信息将HttpPost执行到服务器上并收到正确的响应后,我想获得另一页。在这种情况下,我应该使用cookie来继续我的会话,还是有其他方法可以做到这一点?
修改 我管理这项任务的方式是为新请求使用相同的httpClient。
public CustomHttpClient() {
params = new BasicHttpParams();
HttpClientParams.setRedirecting(params, true);
params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION,
HttpVersion.HTTP_1_1);
client = new DefaultHttpClient(params);
// customRedirectHandler = new CustomRedirectHandler();
// client.setRedirectHandler(customRedirectHandler);
}
在服务器上执行方法之后
public String httpGetViewstate(String url){
...
HttpGet request = new HttpGet();
request.setURI(new URI(url));
response = client.execute(request);
...
}
和新的方法执行
public String httpGet(String url) {
...
HttpGet request = new HttpGet();
request.setURI(new URI(url));
response = client.execute(request);
...
}
然后关闭连接
public void shutDownClient() {
client.getConnectionManager().shutdown();
}
答案 0 :(得分:0)
使用HTMLUnit。 (http://htmlunit.sourceforge.net/)这真的很简单而且很强大。如果不只是将您从登录响应中获得的cookie设置为新的页面请求。
urlConn.setRequestProperty("Cookie", cookieString);