Frank, I just what to add one thing to what Roland has said: basically the authentication with the developer.java.sun.com succeeded. You got the session cookie back. HttpClient was simply unable to process the post-logon redirect, but this limitation is not difficult to work around (see the redirect guide). I am sure it should not be that difficult to form-based login with get my.yahoo.com working. Give it another try
Oleg -----Original Message----- From: Min (Frank) Ni [mailto:[EMAIL PROTECTED] Sent: Wednesday, April 28, 2004 16:28 To: Commons HttpClient Project; [EMAIL PROTECTED] Subject: RE: Yahoo login with Httpclient Hi Oleg: Thanks for your reply. Two days ago I tried the FormLoginDemo, but after I saw your e-mail I tried again and got the following response, with my Sun Developer Id and password : =============================================================================================================== Login form get: HTTP/1.1 200 OK Initial set of cookies: None Apr 28, 2004 10:05:24 AM org.apache.commons.httpclient.HttpMethodBase processRedirectResponse INFO: Redirect requested but followRedirects is disabled Login form post: HTTP/1.1 302 Moved Temporarily Logon cookies: - JDC=5719750140229660595 - JSESSIONID=developer.java.sun.com-e7b9%253A408fba23%253Af8cfb4dd3166b6ce - SessionCredentials=5213651892774654901 Redirect target: http://developer.java.sun.com/index.html Apr 28, 2004 10:05:24 AM org.apache.commons.httpclient.HttpMethodBase checkValidRedirect WARNING: Error getting URI host org.apache.commons.httpclient.HttpException: Redirect from host developer.java.sun.com to java.sun.com is not supported at org.apache.commons.httpclient.HttpMethodBase.checkValidRedirect(HttpMethodBase.java:1243) at org.apache.commons.httpclient.HttpMethodBase.processRedirectResponse(HttpMethodBase.java:1191) at org.apache.commons.httpclient.HttpMethodBase.isRetryNeeded(HttpMethodBase.java:977) at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1095) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:675) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:529) at FormLoginDemo.main(FormLoginDemo.java:124) Apr 28, 2004 10:05:24 AM org.apache.commons.httpclient.HttpMethodBase processRedirectResponse WARNING: Invalid Redirect URI from: http://developer.java.sun.com:80/index.html to: http://java.sun.com/ Redirect: HTTP/1.1 302 Moved Temporarily =============================================================================================================== The probelm with Yahoo login is even harder to understand, it seems Yahoo redirects several times, and it requires cookies, I tried the following lines, but it won't work : =============================================================================================================== System.getProperties().put("java.protocol.handler.pkgs", "HTTPClient"); String url="https://login.yahoo.com/config/login"; // String url="http://f1.pg.briefcase.yahoo.com/"; HttpClient client = new HttpClient(); HttpMethod method = new GetMethod(url); try { // URL url=new URL("https://login.yahoo.com/config/login"); /* String Msg_Out=".fUpdate=1\n"+ ".tries=1\n"+ ".done=http://f1.pg.briefcase.yahoo.com/\n"+ ".src=bc\n"+ ".intl=us\n"+ "login=javamr\n"+ "passwd=javatest\n"+ "submit=Login"; String Msg_Out=".fUpdate=1"+ "&.tries=1"+ "&.done=http://f1.pg.briefcase.yahoo.com/"+ "&.src=bc"+ "&.intl=us"+ "&login=javamr"+ "&passwd=javatest"+ "&submit=Login"; // WriteFile Write_File=new WriteFile(url,Msg_Out); // taText.append(Write_File.Text_In.toString()); // NM_Lib.Display_HTML_In_Browser(Write_File.Text_In.toString()); // method.setQueryString(Msg_Out); */ NameValuePair N_V_P[]= { new NameValuePair(".fUpdate","1"), new NameValuePair(".tries","1"), new NameValuePair(".done","http://f1.pg.briefcase.yahoo.com/"), new NameValuePair(".src","bc"), new NameValuePair(".intl","us"), new NameValuePair("login","javamr"), new NameValuePair("passwd","javatest"), new NameValuePair("submit","Login") }; method.setQueryString(N_V_P); client.executeMethod(method); } catch (Exception e) { System.out.println(e.toString()); } String responseBody = method.getResponseBodyAsString(); method.releaseConnection(); // NM_Lib.Display_HTML_In_Browser(responseBody); } =============================================================================================================== For testing purpose I've created a Yahoo account ( Id : javamr / Password : javatest ), the result of the above code is another login page, I wonder if you can help my to login and download a page from Yahoo Briefcase. Thanks. Frank -----Original Message----- From: Oleg Kalnichevski [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 27, 2004 6:25 PM To: Commons HttpClient Project Subject: Re: Yahoo login with Httpclient Frank, You need to use so called form-based login. Have a look at this sample application: http://cvs.apache.org/viewcvs.cgi/jakarta-commons/httpclient/src/examples/FormLoginDemo.java?rev=1.1.2.1&only_with_tag=HTTPCLIENT_2_0_BRANCH&view=markup If it does not cut it for you, let me know. I may try to quickly hack it up for you (provided I do not get stamped with work (the one that helps me pay the bills I mean)) Oleg On Wed, 2004-04-28 at 00:08, Min (Frank) Ni wrote: > Hi: > > I've been trying to use Httpclient to programmatically login to Yahoo, but I am not > sure how to do it right, I've tried to follow the sample tutorials and nothing > seemed to work for me, I've also searched the web for answers, but failed, it seems > to me that Httpclient is the closest match for what I am looking for, can somebody > please help me ? > > Some sample code of how to use Httpclient to login to Yahoo would be very helpful, I > imagine if I supply username and password to it, I would get a page showing I'm > logged in, I am trying to update my Yahoo Briefcase and Yahoo Geocities pages with > my program. Is it possible to do that with Httpclient ? Thanks for any help. > > Frank > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] *************************************************************************************************** The information in this email is confidential and may be legally privileged. Access to this email by anyone other than the intended addressee is unauthorized. If you are not the intended recipient of this message, any review, disclosure, copying, distribution, retention, or any action taken or omitted to be taken in reliance on it is prohibited and may be unlawful. If you are not the intended recipient, please reply to or forward a copy of this message to the sender and delete the message, any attachments, and any copies thereof from your system. *************************************************************************************************** --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]