简体   繁体   English

控制台中显示奇怪的输出,尝试通过Java在站点中登录

[英]Weird output is showing in console,trying to login through java in site

i am trying the following code to login to a site and get contents ,but when i am running the code the output is not readable and code is not giving any error/exception also.Is the code working and logging in the site but data is encrypted so that is what its showing in console or is there some problem with code 我正在尝试下面的代码登录到站点并获取内容,但是当我运行代码时,输​​出不可读并且代码也没有给出任何错误/异常。加密,以便其在控制台中显示或代码有问题

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;}}

Output is: 输出为:

Cookie: 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: "/"
‹

The encrypted text is much more that i showed and this is repeating again and again in console 加密的文本比我显示的要多得多,并且在控制台中一次又一次地重复

I believe that the encrypted content is the content of the cookie. 我相信加密的内容就是cookie的内容。 Also, you say you're not getting any errors, then how do you explain the warning provided in the output: 另外,您说您没有收到任何错误,那么您如何解释输出中提供的警告:

WARNING: Cookie rejected: "BALANCEID=mycluster2.node3". Illegal path attribute "/resources"

Check that you are using the cookie correctly 检查您是否正确使用了cookie

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM