package com.framework.utils.web; import com.framework.utils.security.CipherPassword; import org.apache.http.Header; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.HttpClientBuilder; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.IOException; import java.net.CookieHandler; import java.net.CookieManager; import java.util.List; /** * Created with IntelliJ IDEA ( LivePerson : www.liveperson.com ) * * Package: com.framework.utils.web * * Name : Requests * * User : solmarkn / Dani Vainstein * * Date : 2015-03-15 * * Time : 13:46 * */ public class HttpUtils { //region HttpUtils - Variables Declaration and Initialization Section. private static final Logger logger = LoggerFactory.getLogger( HttpUtils.class ); private static final String GOOGLE_SERVICE_LOG_IN = "https://accounts.google.com/ServiceLoginAuth"; private static final String GOOGLE_GMAIL = "https://mail.google.com/mail/"; static final String USER_AGENT = "Mozilla/5.0"; //endregion public static HttpResponse httpGetHttpResponse( String url, Header... headers ) throws ClientProtocolException, IOException { HttpClient client = HttpClientBuilder.create().build(); HttpGet request = new HttpGet( url ); if( null != headers ) { for ( Header header : headers ) { request.addHeader( header ); } } return client.execute( request ); } public static String loginToGmail( String userName, String password ) throws Exception { final String SERVICE_LOGIN = "https://accounts.google.com/ServiceLoginAuth"; final String GOOGLE_GMAIL = "https://mail.google.com/mail/"; // make sure cookies is turn on CookieHandler.setDefault( new CookieManager() ); HttpGmailClient gmail = new HttpGmailClient(); String page = gmail.getPageContent( GOOGLE_SERVICE_LOG_IN ); String pwd = password; if( CipherPassword.isPasswordEncrypted( password ) ) { pwd = CipherPassword.decipherPassIncludePrefix( password ); } List<NameValuePair> postParams = gmail.getFormParams( page, userName, pwd ); gmail.sendPost( GOOGLE_SERVICE_LOG_IN, postParams ); return gmail.getPageContent( GOOGLE_GMAIL ); } public static void main( String[] args ) { try { String response = loginToGmail( "solmarkn@gmail.com", "10Martin19" ); System.out.println( "response" ); } catch ( Exception e ) { e.printStackTrace(); } } }