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

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

Introduction

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

Prototype

public synchronized final HttpParams getParams() 

Source Link

Usage

From source file:es.javocsoft.android.lib.toolbox.ToolBox.java

/**
 * Makes a Http operation./*from w w w.  j  a v a2s.  c  om*/
 * 
 * This method set a parameters to the request that avoid being waiting 
 * for the server response or once connected, being waiting to receive 
 * the data.
 * 
 * @param method      Method type to execute. @See HTTP_METHOD.
 * @param url         Url of the request.
 * @param jsonData      The body content of the request (JSON). Can be null.
 * @param headers      The headers to include in the request.
 * @return The content of the request if there is one.
 * @throws Exception
 */
public static String net_httpclient_doAction(HTTP_METHOD method, String url, String jsonData,
        Map<String, String> headers) throws ConnectTimeoutException, SocketTimeoutException, Exception {
    String responseData = null;

    DefaultHttpClient httpclient = new DefaultHttpClient();

    // The time it takes to open TCP connection.
    httpclient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, CONNECTION_DEFAULT_TIMEOUT);
    // Timeout when server does not send data.
    httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,
            CONNECTION_DEFAULT_DATA_RECEIVAL_TIMEOUT);
    // Some tuning that is not required for bit tests.
    //httpclient.getParams().setParameter(CoreConnectionPNames.STALE_CONNECTION_CHECK, false);
    httpclient.getParams().setParameter(CoreConnectionPNames.TCP_NODELAY, true);

    HttpRequestBase httpMethod = null;
    switch (method) {
    case POST:
        httpMethod = new HttpPost(url);
        //Add the body to the request.
        StringEntity se = new StringEntity(jsonData);
        ((HttpPost) httpMethod).setEntity(se);
        break;
    case DELETE:
        httpMethod = new HttpDelete(url);
        break;
    case GET:
        httpMethod = new HttpGet(url);
        break;
    }

    //Add the headers to the request.
    if (headers != null) {
        for (String header : headers.keySet()) {
            httpMethod.setHeader(header, headers.get(header));
        }
    }

    HttpResponse response = httpclient.execute(httpMethod);
    if (LOG_ENABLE) {
        Log.d(TAG,
                "HTTP OPERATION: Read from server - Status Code: " + response.getStatusLine().getStatusCode());
        Log.d(TAG, "HTTP OPERATION: Read from server - Status Message: "
                + response.getStatusLine().getReasonPhrase());
    }

    //Get the response body if there is one.
    HttpEntity entity = response.getEntity();
    if (entity != null) {
        //responseData = EntityUtils.toString(entity, "UTF-8");

        InputStream instream = entity.getContent();
        responseData = IOUtils.convertStreamToString(instream);

        if (LOG_ENABLE)
            Log.i(TAG, "HTTP OPERATION: Read from server - return: " + responseData);
    }

    if (response.getStatusLine().getStatusCode() != 200) {
        throw new Exception("Http operation " + method.name() + " failed with error code "
                + response.getStatusLine().getStatusCode() + "(" + response.getStatusLine().getReasonPhrase()
                + ")");
    }

    return responseData;
}

From source file:org.lightcouch.CouchDbClientBase.java

/**
 * @return {@link DefaultHttpClient} instance.
 *//*from  www  .  j  av  a  2 s  .  com*/
private HttpClient createHttpClient(CouchDbProperties props) {
    DefaultHttpClient httpclient = null;
    try {
        SchemeSocketFactory ssf = null;
        if (props.getProtocol().equals("https")) {
            TrustManager trustManager = new X509TrustManager() {
                public void checkClientTrusted(X509Certificate[] chain, String authType)
                        throws CertificateException {
                }

                public void checkServerTrusted(X509Certificate[] chain, String authType)
                        throws CertificateException {
                }

                public X509Certificate[] getAcceptedIssuers() {
                    return null;
                }
            };
            SSLContext sslcontext = SSLContext.getInstance("TLS");
            sslcontext.init(null, new TrustManager[] { trustManager }, null);
            ssf = new SSLSocketFactory(sslcontext, SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
            SSLSocket socket = (SSLSocket) ssf.createSocket(null);
            socket.setEnabledCipherSuites(new String[] { "SSL_RSA_WITH_RC4_128_MD5" });
        } else {
            ssf = PlainSocketFactory.getSocketFactory();
        }
        SchemeRegistry schemeRegistry = new SchemeRegistry();
        schemeRegistry.register(new Scheme(props.getProtocol(), props.getPort(), ssf));
        PoolingClientConnectionManager ccm = new PoolingClientConnectionManager(schemeRegistry);
        httpclient = new DefaultHttpClient(ccm);
        host = new HttpHost(props.getHost(), props.getPort(), props.getProtocol());
        context = new BasicHttpContext();
        // Http params
        httpclient.getParams().setParameter(CoreProtocolPNames.HTTP_CONTENT_CHARSET, "UTF-8");
        httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, props.getSocketTimeout());
        httpclient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT,
                props.getConnectionTimeout());
        int maxConnections = props.getMaxConnections();
        if (maxConnections != 0) {
            ccm.setMaxTotal(maxConnections);
            ccm.setDefaultMaxPerRoute(maxConnections);
        }
        if (props.getProxyHost() != null) {
            HttpHost proxy = new HttpHost(props.getProxyHost(), props.getProxyPort());
            httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
        }
        // basic authentication
        if (props.getUsername() != null && props.getPassword() != null) {
            httpclient.getCredentialsProvider().setCredentials(new AuthScope(props.getHost(), props.getPort()),
                    new UsernamePasswordCredentials(props.getUsername(), props.getPassword()));
            props.clearPassword();
            AuthCache authCache = new BasicAuthCache();
            BasicScheme basicAuth = new BasicScheme();
            authCache.put(host, basicAuth);
            context.setAttribute(ClientContext.AUTH_CACHE, authCache);
        }
        // request interceptor
        httpclient.addRequestInterceptor(new HttpRequestInterceptor() {
            public void process(final HttpRequest request, final HttpContext context) throws IOException {
                if (log.isInfoEnabled())
                    log.info(">> " + request.getRequestLine());
            }
        });
        // response interceptor
        httpclient.addResponseInterceptor(new HttpResponseInterceptor() {
            public void process(final HttpResponse response, final HttpContext context) throws IOException {
                validate(response);
                if (log.isInfoEnabled())
                    log.info("<< Status: " + response.getStatusLine().getStatusCode());
            }
        });
    } catch (Exception e) {
        log.error("Error Creating HTTP client. " + e.getMessage());
        throw new IllegalStateException(e);
    }
    return httpclient;
}

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

private int readWrite(HttpEntityEnclosingRequestBase request) {
    Log.v(TAG, "readWrite");

    CookieStore mCookieStore = new BasicCookieStore();
    mCookieStore.addCookie(mAuthCookie);

    DefaultHttpClient httpClient = new DefaultHttpClient();
    BasicHttpContext mHttpContext = new BasicHttpContext();
    mHttpContext.setAttribute(ClientContext.COOKIE_STORE, mCookieStore);

    // Encode request body.
    StringEntity requestEntity;/*from  w ww  .  ja v a2 s. c  om*/
    try {
        requestEntity = new StringEntity(encode(mRequestBody));
    } catch (UnsupportedEncodingException e) {
        Log.e(TAG, "HTTP encoding failed=" + e);
        return mStatusCode;
    }

    try {
        final HttpParams getParams = new BasicHttpParams();
        HttpClientParams.setRedirecting(getParams, false);
        request.setParams(getParams);

        request.setHeader("Content-Type", getMimeType());
        request.setEntity(requestEntity);

        HttpResponse response = httpClient.execute(request, mHttpContext);
        Log.d(TAG, "status=" + response.getStatusLine());

        // Read response body.
        HttpEntity responseEntity = response.getEntity();
        if (responseEntity != null) {
            InputStream is = responseEntity.getContent();
            BufferedReader reader = new BufferedReader(new InputStreamReader(is, "utf-8"), 8);
            StringBuilder sb = new StringBuilder();
            String line;
            while ((line = reader.readLine()) != null) {
                sb.append(line);
                sb.append("\n");
            }
            is.close();

            mStatusCode = response.getStatusLine().getStatusCode();
            mStatusReason = response.getStatusLine().getReasonPhrase();
            if (mStatusCode == 200) {
                mResponseBody = decode(sb.toString());
                Log.v(TAG, "mResponseBody=" + sb.toString());
            }
            return mStatusCode;
        }
    } catch (IOException e) {
        Log.e(TAG, "exception=" + e);
        Log.e(TAG, Log.getStackTraceString(e));
    } finally {
        httpClient.getParams().setBooleanParameter(ClientPNames.HANDLE_REDIRECTS, true);
    }

    return mStatusCode;
}

From source file:com.pari.ic.ICManager.java

private Collection<ICPackage> retriveICPackagesForCustomerInstance(String customer, String instance,
        ICStorageServerSettings settings) throws Exception {
    if (settings.getConnectivityType() == ConnectivityTypeEnum.CONNECTIVITY) {
        // For Standalone NCCM, send the request via Connectivity
        String tegHost = settings.getTegHost();

        if (tegHost == null) {
            logger.error("TEG HOST is not configured.... ");
            return Collections.emptyList();
        }//  w w  w . j a  v  a  2s . c  om

        String tegUrl = "http://" + tegHost + "/NccmCollector/ICDownloadServlet?";

        logger.info("URL to TEG :" + tegUrl);

        // Sample URL -
        // http://172.21.136.202:8080/NccmCollector/ICDownloadServlet?GET_IC_PACK=FALSE

        tegUrl = tegUrl + "GET_IC_PACK=FALSE";

        DefaultHttpClient httpclient = null;

        String request = new URL(getFullUrl(settings.getServerHost()) + "/NetworkManagerWS/query/newPackages/"
                + customer + "/" + instance).toString();

        request = request + "&&&";
        request = request + settings.getUserId();
        request = request + "&&&";
        request = request + settings.getPassword();

        logger.info("Request URL for package query : " + request);

        String responseStr = null;
        try {
            httpclient = new DefaultHttpClient();
            httpclient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
            tegUrl = tegUrl.replaceAll(" ", "%20");
            logger.info("Posting request to url: " + tegUrl);
            HttpPost httppost = new HttpPost(tegUrl);

            httppost.setEntity(new StringEntity(request, null, null));
            httppost.setHeader("Content-type", "text/xml");

            HttpResponse response = httpclient.execute(httppost);

            HttpEntity resEntity = response.getEntity();
            int statusCode = response.getStatusLine().getStatusCode();
            responseStr = "";
            if (resEntity != null) {
                responseStr = EntityUtils.toString(resEntity);
            }

            logger.info("Response for Package query :" + responseStr);

            if (statusCode != 200) {
                throw new Exception("HTTP Status:" + response.getStatusLine() + ". Response:" + responseStr);
            }
        } finally {
            if (httpclient != null) {
                httpclient.getConnectionManager().shutdown();
            }
        }
        return ICPackage.readPackages(responseStr);
    }

    String responseStr = null;
    HttpClient client = null;
    try {
        client = new DefaultHttpClient();
        getSecuredHttpClient(client);
        HttpGet request = new HttpGet(getFullUrl(settings.getServerHost())
                + "/NetworkManagerWS/query/newPackages/" + customer + "/" + instance);
        ((AbstractHttpClient) client).getCredentialsProvider().setCredentials(AuthScope.ANY,
                new UsernamePasswordCredentials(settings.getUserId(), settings.getPassword()));
        HttpResponse response = client.execute(request);
        HttpEntity resEntity = response.getEntity();
        int statusCode = response.getStatusLine().getStatusCode();
        responseStr = "";
        if (resEntity != null) {
            responseStr = EntityUtils.toString(resEntity);
        }

        logger.debug("Response for Package query :" + responseStr);

        if (statusCode != 200) {
            logger.error("HTTP Status:" + response.getStatusLine() + ". Response:" + responseStr);
            throw new Exception("HTTP Status:" + response.getStatusLine() + ". Response:" + responseStr);
        }
    } finally {
        if (client != null) {
            try {
                client.getConnectionManager().shutdown();
            } catch (Exception e) {
            }
        }
    }
    return ICPackage.readPackages(responseStr);
}

From source file:com.pari.ic.ICManager.java

@Override
public String testICStorageServerSettings(ICStorageServerSettings settings) throws Exception {
    String msg = "";
    if (settings.getPollType() == 1 && settings.getPollFrequency() < 60) {
        msg = "Invalid IC Package Poll Frequency value. Minimum allowed value is 60.";
        logger.error(msg);//from  w  w w. ja v  a2s.  com
        return msg;
    }
    if (settings.getConnectivityType() == ConnectivityTypeEnum.CONNECTIVITY) {
        // For Standalone NCCM, send the request via Connectivity
        String tegHost = settings.getTegHost();

        if (tegHost == null) {
            msg = "TEG HOST is not configured";
            logger.error(msg);
            return msg;
        }

        String tegUrl = "http://" + tegHost + "/NccmCollector/ICDownloadServlet?";

        logger.info("URL to TEG :" + tegUrl);

        // Sample URL -
        // http://172.21.136.202:8080/NccmCollector/ICDownloadServlet?GET_IC_PACK=FALSE

        tegUrl = tegUrl + "GET_IC_PACK=FALSE";

        DefaultHttpClient httpclient = null;

        String request = new URL(getFullUrl(settings.getServerHost()) + "/NetworkManagerWS/uas/testConnection")
                .toString();

        request = request + "&&&";
        request = request + settings.getUserId();
        request = request + "&&&";
        request = request + settings.getPassword();

        logger.info("Request URL for package query : " + request);

        String responseStr = "";
        try {
            httpclient = new DefaultHttpClient();
            httpclient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
            tegUrl = tegUrl.replaceAll(" ", "%20");
            logger.info("Posting request to url: " + tegUrl);
            HttpPost httppost = new HttpPost(tegUrl);

            httppost.setEntity(new StringEntity(request, null, null));
            httppost.setHeader("Content-type", "text/xml");

            HttpResponse response = httpclient.execute(httppost);

            HttpEntity resEntity = response.getEntity();
            int statusCode = response.getStatusLine().getStatusCode();
            responseStr = "";
            if (resEntity != null) {
                responseStr = EntityUtils.toString(resEntity);
            }

            logger.info("Response for Package query :" + responseStr);

            if (statusCode != 200) {
                msg = responseStr + ". HTTP Status:" + response.getStatusLine() + ". Response:" + responseStr;
                logger.error(msg);
                return msg;
            } else {
                msg = "Successfully connected to UAS";
            }
        } catch (Exception e) {
            if (responseStr != null) {
                msg = responseStr + ". " + e.getMessage();
            } else {
                msg = e.getMessage();
            }
            logger.error(msg);
            return msg;
        } finally {
            if (httpclient != null) {
                httpclient.getConnectionManager().shutdown();
            }
        }
        return msg;
    }

    String responseStr = null;
    HttpClient client = null;
    try {
        client = new DefaultHttpClient();
        getSecuredHttpClient(client);
        HttpGet request = new HttpGet(
                getFullUrl(settings.getServerHost()) + "/NetworkManagerWS/uas/testConnection");
        ((AbstractHttpClient) client).getCredentialsProvider().setCredentials(AuthScope.ANY,
                new UsernamePasswordCredentials(settings.getUserId(), settings.getPassword()));
        HttpResponse response = client.execute(request);
        HttpEntity resEntity = response.getEntity();
        int statusCode = response.getStatusLine().getStatusCode();
        responseStr = "";
        if (resEntity != null) {
            responseStr = EntityUtils.toString(resEntity);
        }

        logger.info("Response for Package query :" + responseStr);

        if (statusCode != 200) {
            msg = responseStr + ". HTTP Status:" + response.getStatusLine() + ". Response:" + responseStr;
            logger.error(msg);
            return msg;
        } else {
            msg = "Successfully connected to UAS";
        }
    } catch (Exception e) {
        if (responseStr != null) {
            msg = responseStr + ". " + e.getMessage();
        } else {
            msg = e.getCause().getMessage();
        }
        logger.error(msg);
        return msg;
    } finally {
        if (client != null) {
            try {
                client.getConnectionManager().shutdown();
            } catch (Exception e) {
            }
        }
    }
    return msg;
}

From source file:org.apache.solr.client.solrj.impl.Krb5HttpClientConfigurer.java

public void configure(DefaultHttpClient httpClient, SolrParams config) {
    super.configure(httpClient, config);

    if (System.getProperty(LOGIN_CONFIG_PROP) != null) {
        String configValue = System.getProperty(LOGIN_CONFIG_PROP);

        if (configValue != null) {
            logger.info("Setting up SPNego auth with config: " + configValue);
            final String useSubjectCredsProp = "javax.security.auth.useSubjectCredsOnly";
            String useSubjectCredsVal = System.getProperty(useSubjectCredsProp);

            // "javax.security.auth.useSubjectCredsOnly" should be false so that the underlying
            // authentication mechanism can load the credentials from the JAAS configuration.
            if (useSubjectCredsVal == null) {
                System.setProperty(useSubjectCredsProp, "false");
            } else if (!useSubjectCredsVal.toLowerCase(Locale.ROOT).equals("false")) {
                // Don't overwrite the prop value if it's already been written to something else,
                // but log because it is likely the Credentials won't be loaded correctly.
                logger.warn("System Property: " + useSubjectCredsProp + " set to: " + useSubjectCredsVal
                        + " not false.  SPNego authentication may not be successful.");
            }/*from   www  .  ja va  2  s  .c  om*/

            javax.security.auth.login.Configuration.setConfiguration(jaasConfig);
            //Enable only SPNEGO authentication scheme.
            AuthSchemeRegistry registry = new AuthSchemeRegistry();
            registry.register(AuthSchemes.SPNEGO, new SPNegoSchemeFactory(true, false));
            httpClient.setAuthSchemes(registry);
            // Get the credentials from the JAAS configuration rather than here
            Credentials useJaasCreds = new Credentials() {
                public String getPassword() {
                    return null;
                }

                public Principal getUserPrincipal() {
                    return null;
                }
            };

            SolrPortAwareCookieSpecFactory cookieFactory = new SolrPortAwareCookieSpecFactory();
            httpClient.getCookieSpecs().register(cookieFactory.POLICY_NAME, cookieFactory);
            httpClient.getParams().setParameter(ClientPNames.COOKIE_POLICY, cookieFactory.POLICY_NAME);

            httpClient.getCredentialsProvider().setCredentials(AuthScope.ANY, useJaasCreds);

            httpClient.addRequestInterceptor(bufferedEntityInterceptor);
        } else {
            httpClient.getCredentialsProvider().clear();
        }
    }
}

From source file:uk.ac.bbsrc.tgac.miso.core.manager.ERASubmissionManager.java

/**
 * Builds a "trusting" trust manager. This is totally horrible and basically ignores everything that SSL stands for.
 * This allows connection to self-signed certificate hosts, bypassing the normal validation exceptions that occur.
 * <p/>// w w w.j av  a  2 s  .  c  om
 * Use at your own risk - again, this is horrible!
 */
public DefaultHttpClient getEvilTrustingTrustManager(DefaultHttpClient httpClient) {
    try {
        // First create a trust manager that won't care about any SSL self-cert problems - eurgh!
        X509TrustManager trustManager = new X509TrustManager() {
            public void checkClientTrusted(X509Certificate[] chain, String authType)
                    throws CertificateException {
                log.warn("BYPASSING CLIENT TRUSTED CHECK!");
            }

            public void checkServerTrusted(X509Certificate[] chain, String authType)
                    throws CertificateException {
                log.warn("BYPASSING SERVER TRUSTED CHECK!");
            }

            public X509Certificate[] getAcceptedIssuers() {
                log.warn("BYPASSING CERTIFICATE ISSUER CHECKS!");
                return null;
            }
        };

        // Now put the trust manager into an SSLContext
        SSLContext sslcontext = SSLContext.getInstance("TLS");
        sslcontext.init(null, new TrustManager[] { trustManager }, null);
        SSLSocketFactory sf = new SSLSocketFactory(sslcontext);
        sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);

        // If you want a thread safe client, use the ThreadSafeConManager, but
        // otherwise just grab the one from the current client, and get hold of its
        // schema registry. THIS IS THE KEY THING.
        ClientConnectionManager ccm = httpClient.getConnectionManager();
        SchemeRegistry schemeRegistry = ccm.getSchemeRegistry();

        // Register our new socket factory with the typical SSL port and the
        // correct protocol name.
        schemeRegistry.register(new Scheme("https", sf, 443));

        // Finally, apply the ClientConnectionManager to the Http Client
        // or, as in this example, create a new one.
        return new DefaultHttpClient(ccm, httpClient.getParams());
    } catch (Throwable t) {
        log.warn("Something nasty happened with the EvilTrustingTrustManager. Warranty is null and void!");
        t.printStackTrace();
        return null;
    }
}

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

private void requestAuthCookie() {
    DefaultHttpClient httpClient = new DefaultHttpClient();
    try {//from ww w .j av  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:gov.nih.nci.nbia.StandaloneDMV3.java

private List<String> connectAndReadFromURL(URL url, List<String> seriesList, String userId, String passWd) {
    List<String> data = null;
    DefaultHttpClient httpClient = null;
    TrustStrategy easyStrategy = new TrustStrategy() {
        @Override//from www  . ja v  a2  s  . c  om
        public boolean isTrusted(X509Certificate[] certificate, String authType) throws CertificateException {
            return true;
        }
    };
    try {
        // SSLContext sslContext = SSLContext.getInstance("SSL");
        // set up a TrustManager that trusts everything
        // sslContext.init(null, new TrustManager[] { new
        // EasyX509TrustManager(null)}, null);

        SSLSocketFactory sslsf = new SSLSocketFactory(easyStrategy,
                SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
        Scheme httpsScheme = new Scheme("https", 443, sslsf);
        SchemeRegistry schemeRegistry = new SchemeRegistry();
        schemeRegistry.register(httpsScheme);
        schemeRegistry.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory()));
        ClientConnectionManager ccm = new ThreadSafeClientConnManager(schemeRegistry);

        HttpParams httpParams = new BasicHttpParams();
        // HttpConnectionParams.setConnectionTimeout(httpParams, 50000);
        // HttpConnectionParams.setSoTimeout(httpParams, new
        // Integer(12000));
        HttpConnectionParams.setConnectionTimeout(httpParams, 500000);
        HttpConnectionParams.setSoTimeout(httpParams, new Integer(120000));
        httpClient = new DefaultHttpClient(ccm, httpParams);
        httpClient.setRoutePlanner(new ProxySelectorRoutePlanner(schemeRegistry, ProxySelector.getDefault()));
        // // Additions by lrt for tcia -
        // // attempt to reduce errors going through a Coyote Point
        // Equalizer load balance switch
        // httpClient.getParams().setParameter("http.socket.timeout", new
        // Integer(12000));
        httpClient.getParams().setParameter("http.socket.timeout", new Integer(120000));
        httpClient.getParams().setParameter("http.socket.receivebuffer", new Integer(16384));
        httpClient.getParams().setParameter("http.tcp.nodelay", true);
        httpClient.getParams().setParameter("http.connection.stalecheck", false);
        // // end lrt additions

        HttpPost httpPostMethod = new HttpPost(url.toString());

        List<BasicNameValuePair> postParams = new ArrayList<BasicNameValuePair>();

        if (userId != null && passWd != null) {
            postParams.add(new BasicNameValuePair("userId", userId));
            httpPostMethod.addHeader("password", passWd);
        }
        postParams.add(new BasicNameValuePair("numberOfSeries", Integer.toString(seriesList.size())));
        int i = 0;
        for (String s : seriesList) {
            postParams.add(new BasicNameValuePair("series" + Integer.toString(++i), s));
        }

        UrlEncodedFormEntity query = new UrlEncodedFormEntity(postParams);
        httpPostMethod.setEntity(query);
        HttpResponse response = httpClient.execute(httpPostMethod);
        int responseCode = response.getStatusLine().getStatusCode();

        if (responseCode != HttpURLConnection.HTTP_OK) {
            returnStatus = responseCode;
            return null;
        } else {
            InputStream inputStream = response.getEntity().getContent();
            data = IOUtils.readLines(inputStream);
        }
    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (KeyManagementException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (NoSuchAlgorithmException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (KeyStoreException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (UnrecoverableKeyException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } finally {
        if (httpClient != null) {
            httpClient.getConnectionManager().shutdown();
        }
    }

    return data;
}

From source file:com.mockey.ClientExecuteProxy.java

/**
 * /*from  w  ww  . jav a2 s.  c o  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;
}