- From: Grigorios Merenidis <grego501@gmx.net>
- Date: Fri, 18 Jun 2004 23:33:15 +0200 (MEST)
- To: www-jigsaw@w3.org
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