利用HttpClient模拟登陆,因为是SSO的单点登录,需要牵涉到很多跳转。做一次记录。
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpPost httppost1 = new HttpPost("http://ssopre.foo.com/ids/login");//单点登录服务器认证接口
List<BasicNameValuePair> formparams1 = new ArrayList<BasicNameValuePair>();
formparams1.add(new BasicNameValuePair("service", "http://bar.foo.com/web/auth?targetUrl=http%3A%2F%2Fbar.foo.com%2Fweb%2Fviews%2Findex.jsp"));//自己系统的认证接口
formparams1.add(new BasicNameValuePair("loginTheme", "bar"));
formparams1.add(new BasicNameValuePair("username", "xxx"));
formparams1.add(new BasicNameValuePair("password", "xxx"));
UrlEncodedFormEntity uefEntity1;
String redirectURL = "" ;
StringBuffer cookieSb = new StringBuffer();
try {
ue