当前位置:我的异常网» Java Web开发 » 急啊!各位大哥帮帮忙, HttpClient 自动登录https服
急啊!各位大哥帮帮忙, HttpClient 自动登录https服务器有关问题!
www.myexceptions.net 网友分享于:2015-08-26 浏览:67次
急啊!!!!各位大哥帮帮忙, HttpClient 自动登录https服务器问题!!!
https自动登陆, 取得了目的页面的url, 可是重定向的时候又回到了登录页面, 怎么办啊?????
我的代码如下:各位大哥帮我分析一下, 错哪了.
package com.venustech.utm30.mgrweb.action;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.httpclient.Cookie;
import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.commons.httpclient.protocol.Protocol;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.venustech.utm30.mgrweb.utils.MySecureProtocolSocketFactory;
public class ProcessDataCenterAction extends Action {
@Override
public ActionForward execute(ActionMapping arg0, ActionForm arg1,
HttpServletRequest arg2, HttpServletResponse response)
throws Exception {
HttpClient httpClient = new HttpClient();
String logonSite = this.getLogonSite();
PostMethod firstMethod = new PostMethod(logonSite);
preparedInfos(httpClient, firstMethod);
processLogon(httpClient, firstMethod);
int statuscode = firstMethod.getStatusCode();
String newuri = " ";
if ((statuscode == HttpStatus.SC_MOVED_TEMPORARILY)
|| (statuscode == HttpStatus.SC_MOVED_PERMANENTLY)
|| (statuscode == HttpStatus.SC_SEE_OTHER)
|| (statuscode == HttpStatus.SC_TEMPORARY_REDIRECT)) {
Header redirect = firstMethod.getResponseHeader( "location ");
if (redirect != null) {
newuri = redirect.getValue();
if ((newuri == null) || (newuri.equals( " ")))
newuri = "/ ";
}
Header[] headers = firstMethod.getResponseHeaders();
for (int index = 0; index < headers.length; index++){
if(headers[index] != null)
response.addHeader(headers[index].getName(), headers[index].getValue());
System.out.println( "headers:::: " + headers[index]);
}
}
Cookie[] logoncookies = httpClient.getState().getCookies();
String temp = "? ";
for (int index = 0; index < logoncookies.length; index++) {
Cookie tem_cookie = logoncookies[index];
javax.servlet.http.Cookie cookie = new javax.servlet.http.Cookie(tem_cookie.getName(), tem_cookie.getValue());
文章评论