java https 处理登录,急啊!各位大哥帮帮忙, HttpClient 自动登录https服务器有关问题!...

当前位置:我的异常网» 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());

文章评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值