RE: Try to Login

Hi Brian!

I appriciate your prompt response!
I will figure out your example and then I will
write back if I have any further questions.

Thanks!

Gregory

> 
> Here is an example of how to do single sign on.  This won't compile
> because it has our own variables and stuff but it should help you out.
> A few notes about things I saw in your code:
> - I don't think you need the question mark at the beginning of the post
> data.
> - You need to do use the skipBody method unless you are returning the
> info to the client.  The skipBody sends the body of the reply from the
> remote server into the bit bucket.
> - I also think you need to set the MIME type in your request.
> 
> Hope this helps,
> Brian
> 
> 
>         HttpSetCookieList cookieList = null;
>         try
> 		{
>             if (isTracingEnabled())
>  
> getLogger().trace("LoginPagePostSignOnFilter.initialSignOn - performing
> single sign on for session" + session.getProxySessionId());
>             //test    
>             HttpManager manager = HttpManager.getManager();
>             manager.setMaxConnections(100);
>             org.w3c.www.protocol.http.Request server_request =
> manager.createRequest();
>             server_request.setMethod(HTTP.POST);
>             server_request.setURL(new URL(getLoginURL()));
>             server_request.setAllowUserInteraction(false);
>  
> server_request.setContentType(MimeType.APPLICATION_X_WWW_FORM_URLENCODED
> );
>             server_request.setUserAgent(request.getUserAgent());
>             
>             server_request.removeHeader("keep-alive");
> 
>             // build the post data
>             PipedOutputStream output_stream = new PipedOutputStream();
>             OutputStreamWriter writer = new
> OutputStreamWriter(output_stream);
>             PipedInputStream input_stream = new
> PipedInputStream(output_stream);
>             StringBuffer post_data = new StringBuffer();
>             post_data.append(getUsernameField());
>             post_data.append("=");
>             post_data.append(session.getUserName());
>             post_data.append("&");
>             post_data.append(getPasswordField());
>             post_data.append("=");
>             post_data.append(getPassword());
>             String[] extraFields = getExtraFields();
>             if (extraFields != null)
>             {
>                 for (int i = 0; i < extraFields.length; i++)
>                 {
>                     post_data.append("&");
>                     post_data.append(extraFields[i]);    
>                 }
>             }
>             writer.write(post_data.toString());
>             writer.flush();
>             writer.close();
>             server_request.setOutputStream(input_stream);
>             //server_request.setOutputStream(new
> StringBufferInputStream(post_data.toString()));
>             server_request.setContentLength(post_data.length());
>             //System.out.println("Request being sent to the backend
> server:");
>             //request.dump(System.out);
>             Reply reply = manager.runRequest(server_request);
>             if (reply.getStatus() > 400)
>             {
>             	getLogger().errlog("Received an unexpected reply status
> code (" + reply.getStatus() + ")");
>             	getLogger().sync();
>             	throw new ServerSignOnException("Received an unexpected
> reply status code (" + reply.getStatus() + ")");	
>             }
>             //System.out.println("Reply returned to the backend
> server:");
>             //reply.dump(System.out);
>             cookieList = reply.getSetCookie();
>             skipBody(reply);
> 
> 
> 
> 
> 
> -----Original Message-----
> From: Grigorios Merenidis [mailto:grego501@gmx.net] 
> Sent: Friday, June 18, 2004 5:49 AM
> To: www-jigsaw@w3.org
> Subject: Fwd: Try to Login
> 
> 
> Hi all!
> 
> I use the jigsaw api to login into a site.
> But if I try to request the server I get 
> the following error:
> 
> Unable to contact target server www.mercedes-benz.de:80 after 1 tries
> 
> My sample code looks like this:
> 
> Request request = manager.createRequest();
> String postdata=?username=USER&password=PASSWORD&btnSubmit=anmelden";
> request.setMethod("POST");
> request.setOutputStream(new StringBufferInputStream(postdata));
> request.setContentLength(postdata.length());
> request.setURL(new URL("http://www.mercedes-benz.de/portal"));
> request.setUserAgent(USER_AGENT);
> try{
>      reply = manager.runRequest(request);
> }catch(Exception ex){
> 		 System.out.println(ex.getMessage());
> }
> 
> What I am doing wrong?
> 
> Thanks for any Help!!
> 
> Cheers!
> 
> Gregory
> 
> 
> 
> -- 
> +++ Jetzt WLAN-Router f|r alle DSL-Einsteiger und Wechsler +++
> GMX DSL-Powertarife zudem 3 Monate gratis* http://www.gmx.net/dsl
> 
> 
> 
> ************************************************************************
> This e-mail and any accompanying documents or files contain information
> that is the 
> property of Perseco, that is intended solely for those to whom this e-mail
> is addressed 
> (i.e., those identified in the "To" and "Cc" boxes), and that is
> confidential, proprietary, 
> and/or privileged.  If you are not an intended recipient of this e-mail,
> you are hereby 
> notified that any viewing, use, disclosure, forwarding, copying, or
> distribution of any of 
> this information is strictly prohibited and may be subject to legal
> sanctions.  If you have 
> received this e-mail in error, please notify the sender immediately of any
> unintended 
> recipients, and delete the e-mail, all attachments, and all copies of both
> >from your system.
> 
> While we have taken reasonable precautions to ensure that any attachments
> to this e-mail 
> have been swept for viruses, we cannot accept liability for any damage
> sustained as a 
> result of software viruses.
> ************************************************************************
> 

-- 
"Sie haben neue Mails!" - Die GMX Toolbar informiert Sie beim Surfen!
Jetzt aktivieren unter http://www.gmx.net/info

Received on Friday, 18 June 2004 17:33:46 UTC