控制台中显示奇怪的输出,试图通过站点中的java登录

控制台中显示奇怪的输出,试图通过站点中的java登录,java,web-crawler,apache-commons-httpclient,Java,Web Crawler,Apache Commons Httpclient,我正在尝试以下代码登录到一个站点并获取内容,但当我运行代码时,输出不可读,代码也没有给出任何错误/异常。代码是否在站点中工作并登录,但数据已加密,因此在控制台中显示,或者代码是否存在一些问题 import java.net.MalformedURLException; import org.apache.commons.httpclient.*; import org.apache.commons.httpclient.cookie.CookiePolicy; import org.apache

我正在尝试以下代码登录到一个站点并获取内容,但当我运行代码时,输出不可读,代码也没有给出任何错误/异常。代码是否在站点中工作并登录,但数据已加密,因此在控制台中显示,或者代码是否存在一些问题

import java.net.MalformedURLException;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.cookie.CookieSpec;
import org.apache.commons.httpclient.methods.*;
import org.apache.commons.httpclient.protocol.Protocol;
import org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
 import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.HttpClient;
 import org.apache.commons.httpclient.Cookie;

 import java.io.BufferedReader;
 import java.io.FileOutputStream;
 import java.io.InputStreamReader;
 import java.net.URL;


  public class TestHttpClient {
  public static String formPostUrl ="http://mims.com/" ;
  public static String LOGON_SITE = "https://sso.mims.com/Account/SignIn";
  static final int    LOGON_PORT = 80;
   public static void main(String[] args ) throws MalformedURLException
   {
    String nextHref="";
    HttpClient client = new HttpClient();

    HttpMethod authGetmethod = new GetMethod("https://sso.mims.com/Account/SignIn");
    authGetmethod.setRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 5.1;    rv:9.0.1) Gecko/20100101 Firefox/9.0.1");
    authGetmethod.setRequestHeader("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
    authGetmethod.setRequestHeader("Accept-Language","en-us,en;q=0.5");
    authGetmethod.setRequestHeader("Accept-Encoding","gzip,deflate");
    authGetmethod.setRequestHeader("Accept-Charset","ISO-8859-1,utf-8;q=0.7,*;q=0.7");
    authGetmethod.setRequestHeader("Keep-Alive","300");
    authGetmethod.setRequestHeader("Connection","keep-alive");

    //authGetmethod.setRequestHeader("Referer","https://login.findmespot.com/faces/welcome.jsp");

try
{
    //send first request to capture cookie information
   int status = client.executeMethod(authGetmethod);


  BufferedReader br   = new  BufferedReader(new InputStreamReader(authGetmethod.getResponseBodyAsStream()));

   String str ="";
   String resultJsessionid="";
         while((str=br.readLine())!=null )
           {
             if(str.indexOf("ASP.NET_SessionId=")!=-1)
             {
                 //capture Session ID
                 resultJsessionid=getJsessionid(str);
              break;
             }
           }

       //release connection for final login request
  authGetmethod.releaseConnection();

       client.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);

   Cookie[] cookies = (Cookie[]) client.getState().getCookies();
  for (int i = 0; i < cookies.length; i++) {
    Cookie cookie = cookies[i];
    System.err.println(
      "Cookie: " + cookie.getName() +
      ", Value: " + cookie.getValue() +
      ", IsPersistent?: " + cookie.isPersistent() +
      ", Expiry Date: " + cookie.getExpiryDate() +
      ", Comment: " + cookie.getComment());


    //PostMethod authpost = new PostMethod("https://login.findmespot.com/faces/welcome.jsp?jessionid="+resultJsessionid );
    PostMethod authpost = new PostMethod("http://mims.com/");
    // Set Headers
    authpost.setRequestHeader("http.Agent", "Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1");
    authpost.setRequestHeader("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
    authpost.setRequestHeader("Accept-Language","en-us,en;q=0.5");
    authpost.setRequestHeader("Accept-Encoding","gzip,deflate");
    authpost.setRequestHeader("Accept-Charset","ISO-8859-1,utf-8;q=0.7,*;q=0.7");
    authpost.setRequestHeader("Keep-Alive","300");
    authpost.setRequestHeader("Connection","keep-alive");
    authpost.setRequestHeader("Referer","https://sso.mims.com/Account/SignIn");



    // Prepare login parameters
    NameValuePair inputtext1      = new NameValuePair("Email   Address","myemailaddress");
    NameValuePair inputtext5   = new NameValuePair("Password", "password for login");

    authpost.setRequestBody(
      new NameValuePair[] {inputtext1,inputtext5});
     client.executeMethod(authpost);
    System.out.println("Login form post: " + authpost.getStatusLine().toString());
     String readLine;

      br = new BufferedReader(new  InputStreamReader(authpost.getResponseBodyAsStream()));
         while(((readLine = br.readLine()) != null)) {
          System.out.println(readLine);
          nextHref=getNexthref(readLine);
      }

      authpost.releaseConnection();


     Cookie[] cookies1 = (Cookie[]) client.getState().getCookies();
        for (int i1 = 0; i < cookies1.length; i++) {
    Cookie cookie1 = cookies1[i1];
    System.err.println(
      "Cookie: " + cookie1.getName() +
      ", Value: " + cookie1.getValue() +
      ", IsPersistent?: " + cookie1.isPersistent() +
      ", Expiry Date: " + cookie1.getExpiryDate() +
      ", Comment: " + cookie1.getComment());



   HttpMethod authGetmethodNext = new GetMethod("https://sso.mims.com/Account/SignIn"+nextHref);
    authGetmethodNext.setRequestHeader("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.9) Gecko/2009040821 Firefox/3.0.9");
    authGetmethodNext.setRequestHeader("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
    authGetmethodNext.setRequestHeader("Accept-Language","en-us,en;q=0.5");
    authGetmethodNext.setRequestHeader("Accept-Encoding","gzip,deflate");
    authGetmethodNext.setRequestHeader("Accept-Charset","ISO-8859-1,utf-8;q=0.7,*;q=0.7");
    authGetmethodNext.setRequestHeader("Keep-Alive","300");
    authGetmethodNext.setRequestHeader("Connection","keep-alive");
    authGetmethodNext.setRequestHeader("Referer","https://login.findmespot.com/faces/welcome.jsp");


    client.executeMethod(authGetmethodNext);
     System.out.println("Login form post: " + authGetmethodNext.getStatusLine().toString());

    PostMethod authpost1 = new PostMethod("http://mims.com/");
    // Set Headers
    authpost1.setRequestHeader("http.Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.9) Gecko/2009040821 Firefox/3.0.9");
    authpost1.setRequestHeader("Accept","text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
    authpost1.setRequestHeader("Accept-Language","en-us,en;q=0.5");
    authpost1.setRequestHeader("Accept-Encoding","gzip,deflate");
    authpost1.setRequestHeader("Accept-Charset","ISO-8859-1,utf-8;q=0.7,*;q=0.7");
    authpost1.setRequestHeader("Keep-Alive","300");
    authpost1.setRequestHeader("Connection","keep-alive");
    authpost1.setRequestHeader("Referer","Referer: https://login.findmespot.com/faces  /trackerunit.jsp");


           client.executeMethod(authpost1);

       br = new BufferedReader(new  InputStreamReader(authpost1.getResponseBodyAsStream()));
         while(((readLine = br.readLine()) != null))
         {
          System.out.println(readLine);
          }

  }
  }
}
 catch(Exception ex)
{
    System.out.println(ex.getMessage());
}


  }
  public static String getJsessionid(String responseText) /// retu
   {

    String jsession="";
  int start_index= responseText.indexOf("ASP.NET_SessionId=");
    if(start_index!=-1)
    {
      jsession= responseText.substring(start_index+11);
    }
     int last_index=jsession.indexOf("\"");
    if(last_index!=-1)
     jsession=jsession.substring(0,last_index);
     return jsession;
    }

  public static String getNexthref(String inputhref)
  {
  String result_href="";
  int start_index=inputhref.indexOf("href='");
 if(start_index!=-1)
   {
   result_href=inputhref.substring(start_index+6);
 }
  int last_index=result_href.indexOf("'");
 if(last_index!=-1)
   result_href=result_href.substring(0,last_index);

 return result_href;}}
import java.net.MalformedURLException;
导入org.apache.commons.httpclient.*;
导入org.apache.commons.httpclient.cookie.CookiePolicy;
导入org.apache.commons.httpclient.cookie.CookieSpec;
导入org.apache.commons.httpclient.methods.*;
导入org.apache.commons.httpclient.protocol.protocol;
导入org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory;
导入org.apache.http.impl.client.DefaultHttpClient;
导入org.apache.commons.httpclient.HttpMethod;
导入org.apache.commons.httpclient.httpclient;
导入org.apache.commons.httpclient.Cookie;
导入java.io.BufferedReader;
导入java.io.FileOutputStream;
导入java.io.InputStreamReader;
导入java.net.URL;
公共类TestHttpClient{
公共静态字符串formpostrl=”http://mims.com/" ;
公共静态字符串登录\u站点=”https://sso.mims.com/Account/SignIn";
静态最终int登录端口=80;
publicstaticvoidmain(字符串[]args)引发畸形的DurLexException
{
字符串nextHref=“”;
HttpClient=新的HttpClient();
HttpMethod authGetmethod=新的GetMethod(“https://sso.mims.com/Account/SignIn");
setRequestHeader(“用户代理”、“Mozilla/5.0(Windows NT 5.1;rv:9.0.1)Gecko/20100101 Firefox/9.0.1”);
setRequestHeader(“Accept”,“text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8”);
setRequestHeader(“接受语言”,“en-us,en;q=0.5”);
setRequestHeader(“接受编码”、“gzip、deflate”);
setRequestHeader(“接受字符集”,“ISO-8859-1,utf-8;q=0.7,*;q=0.7”);
setRequestHeader(“保持活动状态”、“300”);
setRequestHeader(“连接”,“保持活动”);
//setRequestHeader(“Referer”https://login.findmespot.com/faces/welcome.jsp");
尝试
{
//发送第一个请求以捕获cookie信息
int status=client.executeMethod(authGetmethod);
BufferedReader br=新的BufferedReader(新的InputStreamReader(authGetmethod.getResponseBodyAsStream());
字符串str=“”;
字符串resultJsessionid=“”;
而((str=br.readLine())!=null)
{
if(str.indexOf(“ASP.NET_SessionId=”)!=-1)
{
//捕获会话ID
resultJsessionid=getJsessionid(str);
打破
}
}
//释放最终登录请求的连接
authGetmethod.releaseConnection();
client.getParams().setCookiePolicy(CookiePolicy.BROWSER_兼容性);
Cookie[]cookies=(Cookie[])client.getState().getCookies();
for(int i=0;iCookie: ASP.NET_SessionId, Value: s3fiwpzoyblxnyk4qx0o22n5, IsPersistent?: false, Expiry Date: null, Comment: null
Jan 04, 2012 1:22:43 PM org.apache.commons.httpclient.HttpMethodBase processResponseHeaders
WARNING: Cookie rejected: "BALANCEID=mycluster2.node3". Illegal path attribute "/resources". Path of origin: "/"
Login form post: HTTP/1.1 200 OK
‹
$(w‚Ù¥WéÝ™á^ðá6ñQ
ÿðÑ°,´¨fë2‡LLÈþQNù¤]È¡¡4?ú…ËI³:”F~È¿¦xìëvLȹ÷´¦Ü|¬ÜH¾|3%†ä°ì.$i€F3'_œ‚ñ#AOþí`üCA•þ?ìq›Cö©ùÌÓÑÐÌATk|‚ɧ
ûx,òþŒ!ïá‹xÖ~„ ‚TõJdAÿáî/<x]¥à!Á¦ö@ž¾°µè|‚‡Æ€DKû3úEâʳ§Q¶¦?Wô)éu’$ŽkI³¥”.[O Ö¬zÍ¿9ÊwÞ•ôƒþhÚšþñ?Ú•gzžQüHc¢^…\:â˼n)‡Qšé^?‚*©!“Ï’³ÎÑߎœHVÒxh˜>iúƒ  !Xì#Ž”?£@—‰@?T-~DÄ¡ì£\·.÷U(L$í·$Jan 04, 2012 1:22:53 PM org.apache.commons.httpclient.SimpleHttpConnectionManager getConnectionWithTimeout
WARNING: SimpleHttpConnectionManager being used incorrectly.  Be sure that HttpMethod.releaseConnection() is always called and that only one thread and/or method is using this connection manager at a time.
Jan 04, 2012 1:22:56 PM org.apache.commons.httpclient.HttpMethodBase processResponseHeaders
WARNING: Cookie rejected: "BALANCEID=mycluster2.node3". Illegal path attribute "/resources". Path of origin: "/"
‹
WARNING: Cookie rejected: "BALANCEID=mycluster2.node3". Illegal path attribute "/resources"