hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kalnichevski, Oleg" <oleg.kalnichev...@bearingpoint.com>
Subject RE: DO NOT REPLY [Bug 10817] - Provide more Example Code
Date Thu, 20 Mar 2003 13:44:04 GMT
Aaron,

Let me know what you think about it. Your feedback will be appreciated. If find this demo
all right, I'll commit it to the CVS

Cheers

Oleg

===========================================================================================
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.cookie.CookiePolicy;
import org.apache.commons.httpclient.methods.*;

public class FormLoginDemo
{
    static final String LOGON_SITE = "developer.java.sun.com";
    static final int    LOGON_PORT = 80;

    public FormLoginDemo() {
        super();
    }

    public static void main(String[] args) throws Exception {

        HttpClient client = new HttpClient();
        client.getHostConfiguration().setHost(LOGON_SITE, LOGON_PORT, "http");
	  // 'developer.java.sun.com' has cookie compliance problems
        // Their session cookie's domain attribute is in violation of the RFC2109
        // We have to resort to using compatibility cookie policy
        client.getState().setCookiePolicy(CookiePolicy.COMPATIBILITY);

        GetMethod authget = new GetMethod("/servlet/SessionServlet");

        client.executeMethod(authget);
        System.out.println("Login form get: " + authget.getStatusLine().toString()); 
        // release any connection resources used by the method
        authget.releaseConnection();
        // See if we got any cookies
        Cookie[] initcookies = 
          client.getState().getCookies(LOGON_SITE, LOGON_PORT, "/", false);
        System.out.println("Initial set of cookies:");    
        if (initcookies.length == 0) {
            System.out.println("None");    
        } else {
            for (int i = 0; i < initcookies.length; i++) {
                System.out.println("- " + initcookies[i].toString());    
            }
        }
        
        PostMethod authpost = new PostMethod("/servlet/SessionServlet");
        // Prepare login parameters
        NameValuePair action   = new NameValuePair("action", "login");
        NameValuePair url      = new NameValuePair("url", "/index.html");
        NameValuePair userid   = new NameValuePair("UserId", "myid");
        NameValuePair password = new NameValuePair("Password", "xxxxx");
        authpost.setRequestBody( 
          new NameValuePair[] {action, url, userid, password});
        
        client.executeMethod(authpost);
        System.out.println("Login form post: " + authpost.getStatusLine().toString()); 
        // release any connection resources used by the method
        authpost.releaseConnection();
        // See if we got any new cookies
        // ==========================
        // The only way of telling whether logon succeeded is 
        // by finding a session cookie
        Cookie[] logoncookies = 
          client.getState().getCookies(LOGON_SITE, LOGON_PORT, "/", false);
        System.out.println("Logon cookies:");    
        if (logoncookies.length == 0) {
            System.out.println("None");    
        } else {
            for (int i = 0; i < logoncookies.length; i++) {
                System.out.println("- " + logoncookies[i].toString());    
            }
        }        
    }
}
===================================================================================
-----Original Message-----
From: bugzilla@apache.org [mailto:bugzilla@apache.org]
Sent: Dienstag, 18. März 2003 20:26
To: commons-httpclient-dev@jakarta.apache.org
Subject: DO NOT REPLY [Bug 10817] - Provide more Example Code


DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10817>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10817

Provide more Example Code





------- Additional Comments From acure@thecures.com  2003-03-18 19:26 -------
I would like to see an example that connects to a page (i.e. 
http://cgi1.ebay.com/aw-cgi/eBayISAPI.dll?MyEbayLogin ) download the login page 
and cookies, submit the form back to the server, and get the resulting page.  
No graphical client, no swing libraries, just a simple connect, get the page, 
submit the page, get the result.

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-httpclient-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-httpclient-dev-help@jakarta.apache.org


Mime
View raw message