/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package neembuu.uploader.accounts; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.logging.Level; import neembuu.uploader.translation.Translation; import neembuu.uploader.interfaces.abstractimpl.AbstractAccount; import neembuu.uploader.utils.NULogger; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.cookie.Cookie; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.params.BasicHttpParams; import org.apache.http.params.HttpParams; import org.apache.http.util.EntityUtils; /** * * @author vigneshwaran */ public class EasyShareAccount extends AbstractAccount { public EasyShareAccount() { KEY_USERNAME = "esusername"; KEY_PASSWORD = "espassword"; HOSTNAME = "Easy-Share.com"; } @Override public void login() { try { loginsuccessful = false; HttpParams params = new BasicHttpParams(); params.setParameter( "http.useragent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2) Gecko/20100115 Firefox/3.6"); DefaultHttpClient eshttpclient = new DefaultHttpClient(params); NULogger.getLogger().info("Trying to log in to EasyShare"); HttpPost httppost = new HttpPost("http://www.easy-share.com/accounts/login"); httppost.setHeader("Referer", "http://www.easy-share.com/"); httppost.setHeader("Accept", "application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"); List<NameValuePair> formparams = new ArrayList<NameValuePair>(); formparams.add(new BasicNameValuePair("login", getUsername())); formparams.add(new BasicNameValuePair("password", getPassword())); formparams.add(new BasicNameValuePair("remember", "1")); UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, "UTF-8"); //////////////////////////////////////////////////////////////////// httppost.setEntity(entity); HttpResponse httpresponse = eshttpclient.execute(httppost); //Check success if (httpresponse.getFirstHeader("Set-Cookie") == null) { NULogger.getLogger().info("Easy-share login not successful"); loginsuccessful = false; username = ""; password = ""; showWarningMessage( Translation.T().loginerror(), HOSTNAME); accountUIShow().setVisible(true); } else { Iterator<Cookie> it = eshttpclient.getCookieStore().getCookies().iterator(); Cookie escookie; while (it.hasNext()) { escookie = it.next(); if (escookie.getName().equals("logacc") && escookie.getValue().equals("1")) { NULogger.getLogger().info("EasyShare login successful"); loginsuccessful = true; username = getUsername(); password = getPassword(); break; } } if (!loginsuccessful) { showWarningMessage( Translation.T().loginerror(), HOSTNAME); accountUIShow().setVisible(true); } } EntityUtils.consume(httpresponse.getEntity()); } catch (Exception ex) { NULogger.getLogger().log(Level.SEVERE, "{0}: Error in $EasyShare Login", getClass().getName()); } } public void disableLogin() { loginsuccessful = false; NULogger.getLogger().log(Level.INFO, "{0} account disabled", getHOSTNAME()); } }