Example usage for org.apache.http.impl.client DefaultHttpClient getCookieStore

List of usage examples for org.apache.http.impl.client DefaultHttpClient getCookieStore

Introduction

In this page you can find the example usage for org.apache.http.impl.client DefaultHttpClient getCookieStore.

Prototype

public synchronized final CookieStore getCookieStore() 

Source Link

Usage

From source file:com.mikecorrigan.bohrium.pubsub.RegistrationClient.java

private void requestAuthCookie() {
    DefaultHttpClient httpClient = new DefaultHttpClient();
    try {//from w  w  w  .ja v a  2 s.co  m
        String continueURL = getBaseUrl();
        URI uri = new URI(getBaseUrl() + "/_ah/login?continue=" + URLEncoder.encode(continueURL, "UTF-8")
                + "&auth=" + mConfiguration.getString(AUTH_TOKEN));
        HttpGet method = new HttpGet(uri);

        final HttpParams getParams = new BasicHttpParams();
        HttpClientParams.setRedirecting(getParams, false);
        method.setParams(getParams);

        HttpResponse res = httpClient.execute(method);
        Header[] headers = res.getHeaders("Set-Cookie");
        int statusCode = res.getStatusLine().getStatusCode();
        Log.v(TAG, "statusCode=" + statusCode);
        if (statusCode != 302 || headers.length == 0) {
            Log.e(TAG, "Failed to get authCookie: statusCode=" + statusCode);
            setStateAndNotify(REGISTRATION_STATE_ERROR, REGISTRATION_SUBSTATE_ERROR_AUTH_COOKIE);
            return;
        }

        for (Cookie cookie : httpClient.getCookieStore().getCookies()) {
            Log.v(TAG, "cookie=" + cookie.getName());
            if (AUTH_COOKIE_NAME.equals(cookie.getName())) {
                Log.i(TAG, "Received authCookie=" + cookie);
                mAuthCookie = cookie;
                setStateAndNotify(REGISTRATION_STATE_REGISTERING, REGISTRATION_SUBSTATE_HAVE_AUTH_COOKIE);

                // Move on to the next step, register to C2DM.
                c2dmRegister(this, mConfiguration.getString("senderId"));
                return;
            }
        }
    } catch (IOException | URISyntaxException e) {
        Log.e(TAG, "Exception " + e);
        Log.e(TAG, Log.getStackTraceString(e));
    } finally {
        httpClient.getParams().setBooleanParameter(ClientPNames.HANDLE_REDIRECTS, true);
    }

    setStateAndNotify(REGISTRATION_STATE_ERROR, REGISTRATION_SUBSTATE_ERROR_AUTH_COOKIE);
}

From source file:com.mockey.ClientExecuteProxy.java

/**
 * /*from w w  w  . ja v a 2s . co m*/
 * @param twistInfo
 * @param proxyServer
 * @param realServiceUrl
 * @param httpMethod
 * @param request
 * @return
 * @throws ClientExecuteProxyException
 */
public ResponseFromService execute(TwistInfo twistInfo, ProxyServerModel proxyServer, Url realServiceUrl,
        boolean allowRedirectFollow, RequestFromClient request) throws ClientExecuteProxyException {
    log.info("Request: " + String.valueOf(realServiceUrl));

    // general setup
    SchemeRegistry supportedSchemes = new SchemeRegistry();

    // Register the "http" and "https" protocol schemes, they are
    // required by the default operator to look up socket factories.
    supportedSchemes.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));
    supportedSchemes.register(new Scheme("https", 443, SSLSocketFactory.getSocketFactory()));

    // prepare parameters
    HttpParams params = new BasicHttpParams();
    HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
    HttpProtocolParams.setContentCharset(params, HTTP.ISO_8859_1);
    HttpProtocolParams.setUseExpectContinue(params, false);

    ClientConnectionManager ccm = new ThreadSafeClientConnManager(supportedSchemes);
    DefaultHttpClient httpclient = new DefaultHttpClient(ccm, params);

    if (!allowRedirectFollow) {
        // Do NOT allow for 302 REDIRECT
        httpclient.setRedirectStrategy(new DefaultRedirectStrategy() {
            public boolean isRedirected(HttpRequest request, HttpResponse response, HttpContext context) {
                boolean isRedirect = false;
                try {
                    isRedirect = super.isRedirected(request, response, context);
                } catch (ProtocolException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                if (!isRedirect) {
                    int responseCode = response.getStatusLine().getStatusCode();
                    if (responseCode == 301 || responseCode == 302) {
                        return true;
                    }
                }
                return isRedirect;
            }
        });
    } else {
        // Yes, allow for 302 REDIRECT
        // Nothing needed here.
    }

    // Prevent CACHE, 304 not modified
    //      httpclient.addRequestInterceptor(new HttpRequestInterceptor() {
    //         public void process(final HttpRequest request, final HttpContext context) throws HttpException, IOException {
    //            
    //            request.setHeader("If-modified-Since", "Fri, 13 May 2006 23:54:18 GMT");
    //
    //         }
    //      });

    CookieStore cookieStore = httpclient.getCookieStore();
    for (Cookie httpClientCookie : request.getHttpClientCookies()) {
        // HACK:
        // httpClientCookie.getValue();
        cookieStore.addCookie(httpClientCookie);
    }
    // httpclient.setCookieStore(cookieStore);

    if (ClientExecuteProxy.cookieStore == null) {
        ClientExecuteProxy.cookieStore = httpclient.getCookieStore();

    } else {
        httpclient.setCookieStore(ClientExecuteProxy.cookieStore);
    }

    StringBuffer requestCookieInfo = new StringBuffer();
    // Show what cookies are in the store .
    for (Cookie cookie : ClientExecuteProxy.cookieStore.getCookies()) {
        log.debug("Cookie in the cookie STORE: " + cookie.toString());
        requestCookieInfo.append(cookie.toString() + "\n\n\n");

    }

    if (proxyServer.isProxyEnabled()) {
        // make sure to use a proxy that supports CONNECT
        httpclient.getCredentialsProvider().setCredentials(proxyServer.getAuthScope(),
                proxyServer.getCredentials());
        httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxyServer.getHttpHost());
    }

    // TWISTING
    Url originalRequestUrlBeforeTwisting = null;
    if (twistInfo != null) {
        String fullurl = realServiceUrl.getFullUrl();
        String twistedUrl = twistInfo.getTwistedValue(fullurl);
        if (twistedUrl != null) {
            originalRequestUrlBeforeTwisting = realServiceUrl;
            realServiceUrl = new Url(twistedUrl);
        }
    }

    ResponseFromService responseMessage = null;
    try {
        HttpHost htttphost = new HttpHost(realServiceUrl.getHost(), realServiceUrl.getPort(),
                realServiceUrl.getScheme());

        HttpResponse response = httpclient.execute(htttphost, request.postToRealServer(realServiceUrl));
        if (response.getStatusLine().getStatusCode() == 302) {
            log.debug("FYI: 302 redirect occuring from " + realServiceUrl.getFullUrl());
        }
        responseMessage = new ResponseFromService(response);
        responseMessage.setOriginalRequestUrlBeforeTwisting(originalRequestUrlBeforeTwisting);
        responseMessage.setRequestUrl(realServiceUrl);
    } catch (Exception e) {
        log.error(e);
        throw new ClientExecuteProxyException("Unable to retrieve a response. ", realServiceUrl, e);
    } finally {
        // When HttpClient instance is no longer needed,
        // shut down the connection manager to ensure
        // immediate deallocation of all system resources
        httpclient.getConnectionManager().shutdown();
    }

    // Parse out the response information we're looking for
    // StringBuffer responseCookieInfo = new StringBuffer();
    // // Show what cookies are in the store .
    // for (Cookie cookie : ClientExecuteProxy.cookieStore.getCookies()) {
    // log.info("Cookie in the cookie STORE: " + cookie.toString());
    // responseCookieInfo.append(cookie.toString() + "\n\n\n");
    //
    // }
    // responseMessage.setRequestCookies(requestCookieInfo.toString());
    // responseMessage.setResponseCookies(responseCookieInfo.toString());
    return responseMessage;
}

From source file:DownloadDialog.java

/********************************************************************
 * Constructor: DownloadDialog/*from  www .  ja v a 2  s .com*/
 * Purpose: constructor for download, with necessary references
/*******************************************************************/
public DownloadDialog(final MainApplication context, Scheduler scheduler_Ref, JList courseListSelected_Ref,
        JList courseListAll_Ref) {

    // Basic setup for dialog
    setModalityType(Dialog.ModalityType.APPLICATION_MODAL);
    setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);

    setTitle(TITLE);

    // Setup proper references
    this.scheduler = scheduler_Ref;
    this.courseListSelected = courseListSelected_Ref;
    this.courseListAll = courseListAll_Ref;

    // Store available terms
    storeTerms();

    // Constraints
    GridBagConstraints c = new GridBagConstraints();
    c.fill = GridBagConstraints.BOTH;
    c.insets = new Insets(10, 10, 10, 10);
    c.gridx = 0;
    c.gridy = 0;
    c.weightx = 1;
    c.weighty = 0;
    c.gridwidth = 2;

    // Main panel
    panel = new JPanel(new GridBagLayout());

    // Add term select box
    termCB = new JComboBox(termsName.toArray());
    panel.add(termCB, c);

    // Setup username and password labels
    JLabel userL = new JLabel("Username:");
    JLabel passL = new JLabel("Password:");
    c.gridwidth = 1;
    c.gridx = 0;
    c.weightx = 0;

    // Add user label
    c.gridy = 1;
    c.insets = new Insets(5, 10, 0, 10);
    panel.add(userL, c);

    // Add password label
    c.gridy = 2;
    c.insets = new Insets(0, 10, 5, 10);
    panel.add(passL, c);

    // Setup user and pass text fields
    user = new JTextField();
    pass = new JPasswordField();
    c.weightx = 1;
    c.gridx = 1;

    // Add user field
    c.gridy = 1;
    c.insets = new Insets(5, 10, 2, 10);
    panel.add(user, c);

    // Add pass field
    c.gridy = 2;
    c.insets = new Insets(2, 10, 5, 10);
    panel.add(pass, c);

    // Setup login button
    JButton login = new JButton("Login");
    login.addActionListener(this);
    c.insets = new Insets(10, 10, 10, 10);
    c.gridx = 0;
    c.gridy = 3;
    c.gridwidth = 2;
    c.weightx = 1;
    panel.add(login, c);

    // Add panel to main box
    add(panel);

    // Pack the components and give userbox focus
    pack();
    user.requestFocus();

    // Create worker to download courses
    worker = new SwingWorker<Void, Void>() {
        protected Void doInBackground() throws Exception {

            // Reset courses
            scheduler.resetCourses();

            // Constraints
            GridBagConstraints c = new GridBagConstraints();
            c.fill = GridBagConstraints.BOTH;
            c.insets = new Insets(10, 10, 10, 10);
            c.gridx = 0;
            c.weightx = 1;
            c.weighty = 0;

            // Remove all elements
            panel.removeAll();

            // Add status
            JLabel status = new JLabel("Connecting...");
            c.gridy = 0;
            panel.add(status, c);

            // Add progress bar
            JProgressBar progressBar = new JProgressBar(0, SUBJECTS.length);
            c.gridy = 1;
            panel.add(progressBar, c);
            progressBar.setPreferredSize(new Dimension(275, 12));

            // Revalidate, repaint, and pack
            //revalidate();
            repaint();
            pack();

            try {

                // Create client
                DefaultHttpClient client = new DefaultHttpClient();

                // Setup and execute initial login
                HttpGet initialLogin = new HttpGet("http://jweb.kettering.edu/cku1/twbkwbis.P_ValLogin");
                HttpResponse response = client.execute(initialLogin);
                HTMLParser.parse(response);

                // Get current term
                String term = termsValue.get(termCB.getSelectedIndex());

                // Consume entity (cookies)
                HttpEntity entity = response.getEntity();
                if (entity != null)
                    entity.consumeContent();

                // Create post for login
                HttpPost login = new HttpPost("http://jweb.kettering.edu/cku1/twbkwbis.P_ValLogin");

                // Parameters
                List<NameValuePair> parameters = new ArrayList<NameValuePair>();
                parameters.add(new BasicNameValuePair("sid", user.getText()));
                parameters.add(new BasicNameValuePair("PIN", pass.getText()));
                login.setEntity(new UrlEncodedFormEntity(parameters));
                login.setHeader("Referer", "http://jweb.kettering.edu/cku1/twbkwbis.P_ValLogin");

                // Login !
                response = client.execute(login);

                // Store proper cookies
                List<Cookie> cookies = client.getCookieStore().getCookies();

                // Start off assuming logging in failed
                boolean loggedIn = false;

                // Check cookies for successful login
                for (int i = 0; i < cookies.size(); i++)
                    if (cookies.get(i).getName().equals("SESSID"))
                        loggedIn = true;

                // Success?
                if (loggedIn) {

                    // Consumption of feed
                    HTMLParser.parse(response);

                    // Execute GET class list page
                    HttpGet classList = new HttpGet(
                            "http://jweb.kettering.edu/cku1/bwskfcls.p_sel_crse_search");
                    classList.setHeader("Referer", "https://jweb.kettering.edu/cku1/twbkwbis.P_GenMenu");
                    response = client.execute(classList);
                    HTMLParser.parse(response);

                    // Execute GET for course page
                    HttpGet coursePage = new HttpGet(
                            "http://jweb.kettering.edu/cku1/bwckgens.p_proc_term_date?p_calling_proc=P_CrseSearch&p_term="
                                    + term);
                    coursePage.setHeader("Referer",
                            "http://jweb.kettering.edu/cku1/bwskfcls.p_sel_crse_search");
                    response = client.execute(coursePage);
                    HTMLParser.parse(response);

                    // Download every subject's data
                    for (int index = 0; index < SUBJECTS.length; index++) {

                        // Don't download if cancel was pressed
                        if (isCancelled())
                            break;

                        // Update status, progress bar, then store course
                        String subject = SUBJECTS[index];
                        status.setText("Downloading " + subject);
                        progressBar.setValue(index);
                        scheduler.storeDynamicCourse(subject, client, term);
                    }

                    // Update course list data
                    courseListAll.setListData(scheduler.getCourseIDs().toArray());

                    // Clear course list data
                    String[] empty = {};
                    courseListSelected.setListData(empty);
                    context.updatePermutations();
                    context.updateSchedule();

                    // Dispose of dialog if cancelled
                    if (!isCancelled()) {
                        dispose();
                    }

                }

                // Invalid login?
                else {

                    // Update status
                    status.setText("Invalid login.");
                }
            }

            // Failed to download?
            catch (Exception exc) {

                // Show stack trace, and update status
                exc.printStackTrace();
                status.setText("Failed downloading.");
            }

            return null;
        }
    };

    // Setup window close event to be same as cancel
    this.addWindowListener(new WindowAdapter() {

        @Override
        public void windowClosing(WindowEvent e) {

            // Cancel all downloads then dispose
            worker.cancel(true);
            dispose();
        }
    });

    // Make sure dialog is visible
    setLocationRelativeTo(context);
    setVisible(true);

}

From source file:com.servoy.extensions.plugins.http.HttpProvider.java

/**
 * Add cookie to the specified client./*  w ww. ja  v  a 2 s  .  c o m*/
 * 
 * @deprecated Replaced by {@link HttpClient#setCookie(String,String)}.
 * 
 * @sample
 * var cookieSet = plugins.http.setHttpClientCookie('clientName', 'JSESSIONID', 'abc', 'localhost', '/', -1, false)
 * if (cookieSet)
 * {
 *    //do something
 * }
 *
 * @param clientName 
 * @param cookieName 
 * @param cookieValue 
 * @param domain optional
 * @param path optional
 * @param maxAge optional
 * @param secure optional
 */
@Deprecated
public boolean js_setHttpClientCookie(Object[] vargs) {
    String clientName = "", cookieName = "", cookieValue = "", domain = "", path = "";
    int maxAge = -1;
    boolean secure = false;

    if (vargs.length >= 1)
        clientName = (String) vargs[0];
    if (clientName == null || "".equals(clientName.trim()))
        return false;
    DefaultHttpClient client = httpClients.get(clientName);
    if (client == null)
        return false;

    if (vargs.length >= 2)
        cookieName = (String) vargs[1];
    if (vargs.length >= 3)
        cookieValue = (String) vargs[2];
    if (vargs.length >= 4)
        domain = (String) vargs[3];
    if (vargs.length >= 5)
        path = (String) vargs[4];
    if (vargs.length >= 6) {
        maxAge = Utils.getAsInteger(vargs[5]);
        //if something is wrong, 0 is returned
        if (maxAge == 0)
            maxAge = -1;
    }
    if (vargs.length >= 7)
        secure = Utils.getAsBoolean(vargs[6]);

    if (cookieName == null || "".equals(cookieName.trim()))
        return false;
    if (cookieValue == null || "".equals(cookieValue.trim()))
        return false;

    BasicClientCookie cookie;
    cookie = new BasicClientCookie(cookieName, cookieValue);
    if (vargs.length > 3) {
        cookie.setPath(path);
        cookie.setExpiryDate(new Date(System.currentTimeMillis() + maxAge));
        cookie.setSecure(secure);
    }
    cookie.setDomain(domain);
    client.getCookieStore().addCookie(cookie);
    return true;
}

From source file:net.paissad.minus.utils.HttpClientUtils.java

/**
 * Convenience method for sending HTTP requests.
 * <b><span style="color:red">Note</span></b>: This method is intended to be
 * used internally, not by end-users.//from w w  w . j a v a  2s  .  co  m
 * 
 * @param baseURL - <b>Example</b>: http://minus.com/api
 * @param parametersBody - The parameters (name => value pairs) to pass to
 *            the request.
 * @param sessionId - If <tt>null</tt> or empty, then create and use a new
 *            session, otherwise, use the specified session_id (which is
 *            stored in a cookie).
 * @param requestType
 * @param additionalRequestHeaders -
 * @param expectedResponseType
 * @return The response retrieved from Minus API.
 * @throws MinusException
 */
private static MinusHttpResponse sendRequest(final String baseURL, final Map<String, String> parametersBody,
        final String sessionId, final RequestType requestType, final Header[] additionalRequestHeaders,
        final ExpectedResponseType expectedResponseType) throws MinusException {

    DefaultHttpClient client = null;
    HttpRequestBase request = null;
    InputStream responseContent = null;
    boolean errorOccured = false;

    try {
        if (requestType == RequestType.GET) {
            request = new HttpGet(baseURL);
            if (parametersBody != null && !parametersBody.isEmpty()) {
                request = appendParametersToRequest(request, parametersBody);
            }

        } else if (requestType == RequestType.POST) {
            UrlEncodedFormEntity encodedEntity = new UrlEncodedFormEntity(getHttpParamsFromMap(parametersBody),
                    HTTP.UTF_8);
            request = new HttpPost(baseURL);
            ((HttpPost) request).setEntity(encodedEntity);

        } else {
            throw new MinusException("The method (" + requestType + ") is unknown, weird ...");
        }

        request.addHeader(new BasicHeader("User-Agent", APP_USER_AGENT));
        if (additionalRequestHeaders != null && additionalRequestHeaders.length > 0) {
            for (Header aHeader : additionalRequestHeaders) {
                request.addHeader(aHeader);
            }
        }

        client = new DefaultHttpClient();
        client.setHttpRequestRetryHandler(new MinusHttpRequestRetryHandler());

        client.getParams().setParameter(ClientPNames.HANDLE_REDIRECTS, true);
        client.getParams().setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.BEST_MATCH);

        CookieStore cookieStore = new BasicCookieStore();

        Cookie sessionCookie = null;
        if (sessionId != null && !sessionId.trim().isEmpty()) {
            sessionCookie = new BasicClientCookie2(MINUS_COOKIE_NAME, sessionId);
            ((BasicClientCookie2) sessionCookie).setPath("/");
            ((BasicClientCookie2) sessionCookie).setDomain(MINUS_DOMAIN_NAME);
            ((BasicClientCookie2) sessionCookie).setVersion(0);
            cookieStore.addCookie(sessionCookie);
        }

        client.setCookieStore(cookieStore);

        HttpContext localContext = new BasicHttpContext();
        // Bind custom cookie store to the local context
        localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);

        // Execute the request ... pass local context as a parameter
        HttpResponse resp = client.execute(request, localContext);

        // Let's update the cookie have the name 'sessionid'
        for (Cookie aCookie : client.getCookieStore().getCookies()) {
            if (aCookie.getName().equals(MINUS_COOKIE_NAME)) {
                sessionCookie = aCookie;
                break;
            }
        }

        Object result = null;
        int statusCode = resp.getStatusLine().getStatusCode();

        if (statusCode == HttpStatus.SC_OK) {
            HttpEntity entity = resp.getEntity();
            if (entity != null) {
                if (expectedResponseType == ExpectedResponseType.STRING) {
                    result = EntityUtils.toString(entity);
                    EntityUtils.consume(entity);
                } else if (expectedResponseType == ExpectedResponseType.HTTP_ENTITY) {
                    result = entity;
                }
            }
        } else {
            // The response code is not OK.
            StringBuilder errMsg = new StringBuilder();
            errMsg.append("HTTP ").append(requestType).append(" failed => ").append(resp.getStatusLine());
            if (request != null) {
                errMsg.append(" : ").append(request.getURI());
            }
            throw new MinusException(errMsg.toString());
        }

        return new MinusHttpResponse(result, sessionCookie);

    } catch (Exception e) {
        errorOccured = true;
        if (request != null) {
            request.abort();
        }
        String errMsg = "Error while executing the HTTP " + requestType + " request : " + e.getMessage();
        throw new MinusException(errMsg, e);

    } finally {
        if (client != null) {
            // We must not close the client is the expected response is an
            // InputStream. Indeed, if ever we close the client, we won't be
            // able to read the response because of SocketException.
            if (errorOccured) {
                client.getConnectionManager().shutdown();
            } else if (expectedResponseType != ExpectedResponseType.HTTP_ENTITY) {
                client.getConnectionManager().shutdown();
            }
        }
        CommonUtils.closeAllStreamsQuietly(responseContent);
    }
}

From source file:com.mediatek.systemupdate.HttpManager.java

private HttpResponse doPost(String url, Map<String, String> headers, ArrayList<BasicNameValuePair> bnvpa) {

    Xlog.i(TAG, "doPost, url = " + url + ", mCookies = " + mCookies);
    HttpContext localcontext = new BasicHttpContext();
    if (mCookies != null) {
        localcontext.setAttribute(ClientContext.COOKIE_STORE, mCookies);
    }/*from  w  ww  . ja  va  2 s .  co m*/
    HttpResponse response = null;
    try {
        HttpHost host = null;
        HttpPost httpPost = null;

        if (url.contains("https")) {
            Uri uri = Uri.parse(url);
            host = new HttpHost(uri.getHost(), PORT_NUMBER, uri.getScheme());
            httpPost = new HttpPost(uri.getPath());
        } else {
            httpPost = new HttpPost(url);
        }

        if (headers != null) {
            for (Map.Entry<String, String> entry : headers.entrySet()) {
                httpPost.addHeader(entry.getKey(), entry.getValue());
            }
        }

        if (bnvpa != null) {
            httpPost.setEntity(new UrlEncodedFormEntity(bnvpa));
        }
        DefaultHttpClient httpClient = new DefaultHttpClient(mHttpConnMgr, mHttpParam);

        try {
            if (url.contains("https")) {
                Xlog.i(TAG, "doPost, https");
                response = httpClient.execute(host, httpPost);
            } else {
                Xlog.i(TAG, "doPost, http");
                Xlog.i(TAG, "mHttpClient =" + httpClient + "httpPost = " + httpPost + "localcontext = "
                        + localcontext);
                response = httpClient.execute(httpPost, localcontext);
            }
            if (mCookies == null) {
                mCookies = httpClient.getCookieStore();
                Xlog.i(TAG, "mCookies size = " + mCookies.getCookies().size());
            }
            return response;
        } catch (ConnectTimeoutException e) {
            e.printStackTrace();
            mErrorCode = HTTP_RESPONSE_NETWORK_ERROR;
        }

    } catch (UnsupportedEncodingException e) {

        e.printStackTrace();
        mErrorCode = HTTP_RESPONSE_NETWORK_ERROR;
    } catch (IOException e) {
        e.printStackTrace();
        mErrorCode = HTTP_RESPONSE_NETWORK_ERROR;
    }
    return response;
}

From source file:gov.medicaid.screening.dao.impl.NursingLicenseDAOBean.java

/**
 * This method performs login to the configured site.
 *
 * @return the cookies generated by the login process
 *
 * @throws URISyntaxException if an error occurs while building the URL.
 * @throws ClientProtocolException if client does not support protocol used.
 * @throws IOException if an error occurs while parsing response.
 * @throws ServiceException for any other problems encountered
 *///from   w ww.j  ava  2s . c  o  m
private CookieStore loginAsPublicUser()
        throws URISyntaxException, ClientProtocolException, IOException, ServiceException {
    DefaultHttpClient client = new DefaultHttpClient(getLaxSSLConnectionManager());
    client.setRedirectStrategy(new LaxRedirectStrategy());

    String loginSite = getLoginURL();
    HttpGet getLogin = new HttpGet(new URIBuilder(loginSite).build());
    HttpResponse response = client.execute(getLogin);
    verifyAndAuditCall(loginSite, response);

    Document page = Jsoup.parse(EntityUtils.toString(response.getEntity()));

    // select public user
    HttpPost login = new HttpPost(new URIBuilder(loginSite).build());
    HttpEntity entity = postForm(loginSite, client, login,
            new String[][] { { "__EVENTTARGET", "_ctl0_rblUserType_2" }, { "__EVENTARGUMENT", "" },
                    { "__VIEWSTATE", page.select("input[name=__VIEWSTATE]").first().val() } },
            true);

    page = Jsoup.parse(EntityUtils.toString(entity));

    // enter credentials
    entity = postForm(loginSite, client, login,
            new String[][] { { "__EVENTTARGET", "" }, { "__EVENTARGUMENT", "" }, { "_ctl0:cmdLogin", "Log In" },
                    { "_ctl0:rblUserType", "14" }, { "_ctl0:txtEMailAddress", getUsername() },
                    { "_ctl0:txtPassword", getPassword() },
                    { "__VIEWSTATE", page.select("input[name=__VIEWSTATE]").first().val() } },
            true);

    page = Jsoup.parse(EntityUtils.toString(entity));

    // check that the user was actually logged in
    if (page.select("a#Banner_hlLogoff").size() == 0) {
        throw new ServiceException(ErrorCode.MITA50003.getDesc());
    }
    return client.getCookieStore();
}

From source file:org.mobisocial.corral.CorralTicketProvider.java

public String getUploadTicket(String objName, String type, String length, String md5)
        throws IOException, JSONException {
    if (SERVER_URL == null) {
        Log.w(TAG, "no file upload service");
        return null;
    }//from  w w  w.  java  2 s.  c om
    String ticket = null;

    // get Identity
    setIdentityAndSignature(null);
    if (myidentity == null) {
        Log.e(TAG, "Failed to get IDENTITY.");
        return null;
    }
    String shortidentity = myidentity.substring(0, 66);
    String url = SERVER_URL + "user/" + shortidentity + "/object/" + objName + "/upload-ticket/" + type + "/"
            + length + "/" + md5;
    Log.d(TAG, "Now accessing: " + url);

    // Set up HTTP request
    DefaultHttpClient http = new CertifiedHttpClient(mContext);
    http.setCookieStore(cookieStore);
    HttpGet httpget = new HttpGet(url);
    //      httpget.setHeader( "Connection", "Keep-Alive" );

    HttpResponse response = http.execute(httpget);
    Log.d(TAG, "StatusCode: " + response.getStatusLine().getStatusCode());

    // TODO DELETE
    Header[] headers = response.getAllHeaders();
    for (Header header : headers) {
        Log.d(TAG, "Header: name=" + header.getName() + ", val=" + header.getValue());
    }
    if (response.getStatusLine().getStatusCode() == HttpStatus.SC_FORBIDDEN) {
        Header header = response.getFirstHeader("WWW-Authenticate");
        if (header == null) {
            Log.e(TAG, "Failed to get Corral header.");
            return null;
        }
        String headervalue = header.getValue();
        if (!headervalue.startsWith("Corral=")) {
            Log.e(TAG, "Failed to get Corral header.");
            return null;
        }
        String[] str = headervalue.split("\"");
        String challenge = str[1];
        setIdentityAndSignature(challenge);

        if (mysign == null || myidentity == null) {
            Log.e(TAG, "Failed to get IDENTITY and SIGNATURE.");
            return null;
        }

        httpget.setHeader("Authorization", "Corral " + myidentity + " " + mysign);
        Log.d(TAG, "Corral " + myidentity + " " + mysign);

        response = http.execute(httpget);
        Log.d(TAG, "StatusCode: " + response.getStatusLine().getStatusCode());

    }
    if (response.getStatusLine().getStatusCode() == 200) {
        cookieStore = http.getCookieStore();
        Log.d(TAG, "Saved Cookie: " + cookieStore.getCookies().get(0).getValue());

        BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
        String responseStr = "";
        String line = "";
        while ((line = rd.readLine()) != null) {
            responseStr += line;
        }
        Log.d(TAG, "Server response:" + responseStr);
        JSONObject jso = new JSONObject(responseStr);
        ticket = jso.getString("ticket");
        datestr = jso.getString("date");
    }

    return ticket;

}

From source file:org.mobisocial.corral.CorralTicketProvider.java

public String getDownloadTicket(String objName) throws IOException, JSONException {
    if (SERVER_URL == null) {
        Log.w(TAG, "no file upload service");
        return null;
    }/*from w  w  w. ja  va 2  s .  c om*/
    String ticket = null;

    // get Identity
    setIdentityAndSignature(null);
    if (myidentity == null) {
        Log.e(TAG, "Failed to get IDENTITY.");
        return null;
    }
    String shortidentity = myidentity.substring(0, 66);
    String url = SERVER_URL + "user/" + shortidentity + "/object/" + objName + "/download-ticket/";
    Log.d(TAG, "Now accessing: " + url);

    // Set up HTTP request
    DefaultHttpClient http = new CertifiedHttpClient(mContext);
    http.setCookieStore(cookieStore);
    HttpGet httpget = new HttpGet(url);
    //      httpget.setHeader( "Connection", "Keep-Alive" );

    HttpResponse response = http.execute(httpget);
    Log.d(TAG, "StatusCode: " + response.getStatusLine().getStatusCode());

    // TODO DELETE
    Header[] headers = response.getAllHeaders();
    for (Header header : headers) {
        Log.d(TAG, "Header: name=" + header.getName() + ", val=" + header.getValue());
    }
    if (response.getStatusLine().getStatusCode() == HttpStatus.SC_FORBIDDEN) {
        Header header = response.getFirstHeader("WWW-Authenticate");
        if (header == null) {
            Log.e(TAG, "Failed to get Corral header.");
            return null;
        }
        String headervalue = header.getValue();
        if (!headervalue.startsWith("Corral=")) {
            Log.e(TAG, "Failed to get Corral header.");
            return null;
        }
        String[] str = headervalue.split("\"");
        String challenge = str[1];
        setIdentityAndSignature(challenge);

        if (mysign == null || myidentity == null) {
            Log.e(TAG, "Failed to get IDENTITY and SIGNATURE.");
            return null;
        }

        httpget.setHeader("Authorization", "Corral " + myidentity + " " + mysign);
        Log.d(TAG, "Corral " + myidentity + " " + mysign);

        response = http.execute(httpget);
        Log.d(TAG, "StatusCode: " + response.getStatusLine().getStatusCode());

    }
    if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
        cookieStore = http.getCookieStore();
        Log.d(TAG, "Saved Cookie: " + cookieStore.getCookies().get(0).getValue());

        BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
        String responseStr = "";
        String line = "";
        while ((line = rd.readLine()) != null) {
            responseStr += line;
        }
        JSONObject jso = new JSONObject(responseStr);
        ticket = jso.getString("ticket");
        datestr = jso.getString("date");
    }
    return ticket;
}