Example usage for org.apache.http.cookie.params CookieSpecPNames SINGLE_COOKIE_HEADER

List of usage examples for org.apache.http.cookie.params CookieSpecPNames SINGLE_COOKIE_HEADER

Introduction

In this page you can find the example usage for org.apache.http.cookie.params CookieSpecPNames SINGLE_COOKIE_HEADER.

Prototype

String SINGLE_COOKIE_HEADER

To view the source code for org.apache.http.cookie.params CookieSpecPNames SINGLE_COOKIE_HEADER.

Click Source Link

Document

Defines whether cookies should be forced into a single Cookie request header.

Usage

From source file:costumetrade.common.util.HttpClientUtils.java

public static String get(String url, String encoding) throws ClientProtocolException, IOException {
    DefaultHttpClient httpclient = new DefaultHttpClient();
    try {// w  w w  .  ja  va2  s .  c o  m
        httpclient.getParams().setBooleanParameter(CookieSpecPNames.SINGLE_COOKIE_HEADER, true);
        //log.info("GET "+url);
        HttpGet httpget = new HttpGet(url);
        httpget.addHeader("User-Agent",
                "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)");
        HttpResponse response = httpclient.execute(httpget);
        //log.info(response.getStatusLine().getStatusCode());
        HttpEntity entity = response.getEntity();
        return EntityUtils.toString(entity, encoding);
    } finally {
        if (httpclient != null) {
            httpclient.getConnectionManager().shutdown();
        }
    }
}

From source file:com.pyj.http.AsyncHttpClient.java

/**
 * Creates a new AsyncHttpClient./*from  w w w  . ja  v a  2  s.co  m*/
 */
public AsyncHttpClient() {
    BasicHttpParams httpParams = new BasicHttpParams();

    ConnManagerParams.setTimeout(httpParams, socketTimeout);
    ConnManagerParams.setMaxConnectionsPerRoute(httpParams, new ConnPerRouteBean(maxConnections));
    ConnManagerParams.setMaxTotalConnections(httpParams, DEFAULT_MAX_CONNECTIONS);

    HttpConnectionParams.setSoTimeout(httpParams, socketTimeout);
    HttpConnectionParams.setConnectionTimeout(httpParams, socketTimeout);
    HttpConnectionParams.setTcpNoDelay(httpParams, true);
    HttpConnectionParams.setSocketBufferSize(httpParams, DEFAULT_SOCKET_BUFFER_SIZE);
    // ?cookie
    httpParams.setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY);
    // httpParams.setParameter(ClientPNames.COOKIE_POLICY, "hupu.com");
    httpParams.setParameter(CookieSpecPNames.SINGLE_COOKIE_HEADER, true);

    HttpProtocolParams.setVersion(httpParams, HttpVersion.HTTP_1_1);

    if (Build.VERSION.SDK != null && Build.VERSION.SDK_INT > 13) {
        httpParams.setParameter("Connection", "close");
    }
    // HttpProtocolParams.setUserAgent(httpParams,
    // String.format("android-async-http/%s (http://loopj.com/android-async-http)",
    // VERSION));

    SchemeRegistry schemeRegistry = new SchemeRegistry();
    schemeRegistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
    schemeRegistry.register(new Scheme("https", SSLSocketFactory.getSocketFactory(), 443));
    // SSLSocketFactory ssl=getSSLSocketFactory();
    // schemeRegistry.register(new Scheme("https", ssl, 443));
    ThreadSafeClientConnManager cm = new ThreadSafeClientConnManager(httpParams, schemeRegistry);

    httpContext = new SyncBasicHttpContext(new BasicHttpContext());
    httpClient = new DefaultHttpClient(cm, httpParams);

    httpClient.addRequestInterceptor(new HttpRequestInterceptor() {
        @Override
        public void process(HttpRequest request, HttpContext context) {
            if (!request.containsHeader(HEADER_ACCEPT_ENCODING)) {
                request.addHeader(HEADER_ACCEPT_ENCODING, ENCODING_GZIP);
            }
            if (!request.containsHeader(""))
                for (String header : clientHeaderMap.keySet()) {
                    request.addHeader(header, clientHeaderMap.get(header));
                }
        }
    });

    httpClient.addResponseInterceptor(new HttpResponseInterceptor() {
        @Override
        public void process(HttpResponse response, HttpContext context) {
            final HttpEntity entity = response.getEntity();
            if (entity == null) {
                return;
            }
            final Header encoding = entity.getContentEncoding();
            if (encoding != null) {
                for (HeaderElement element : encoding.getElements()) {
                    // HupuLog.d("ResponseInterceptor",
                    // "key="+element.getName()+" value="+element.getValue());
                    if (element.getName().equalsIgnoreCase(ENCODING_GZIP)) {
                        //                     HupuLog.d("ResponseInterceptor", "gzip");
                        response.setEntity(new InflatingEntity(response.getEntity()));
                        // continue;
                    }

                }
            }
            Header[] headers = response.getHeaders(HEADER_DATE);
            if (headers != null) {
                for (int i = 0; i < headers.length; i++) {
                    if (headers[i].getName().equalsIgnoreCase(HEADER_DATE)) {
                        Date date = new java.util.Date(headers[i].getValue());
                        today = date.getTime();
                        // Calendar cal = new GregorianCalendar();
                    }
                }
            }

        }
    });

    httpClient.setHttpRequestRetryHandler(new RetryHandler(DEFAULT_MAX_RETRIES));

    threadPool = (ThreadPoolExecutor) Executors.newCachedThreadPool();

    requestMap = new WeakHashMap<Context, List<WeakReference<Future<?>>>>();
    clientHeaderMap = new HashMap<String, String>();

    // CookieStore cookieStore = new BasicCookieStore();
    // setCookieStore(cookieStore);

}

From source file:anhttpclient.impl.DefaultWebBrowser.java

/**
 * Makes default initialization of HttpMethodBase before any request
 * such as cookie policy, retrycount, timeout
 *
 * @param httpMethodBase {@link HttpRequestBase} for making default initialization
 *///w w  w . j a v a 2  s.  co m
private void setDefaultMethodParams(final HttpRequestBase httpMethodBase) {
    httpMethodBase.getParams().setBooleanParameter(CookieSpecPNames.SINGLE_COOKIE_HEADER, true);
    httpMethodBase.getParams().setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY);

    // We use here DefaultHttpMethodRetryHandler with <b>true</b> parameter
    // because we suppose that if method was successfully sent its headers
    // it could also be retried
    if (AbstractHttpClient.class.isAssignableFrom(httpClient.getClass())) {
        ((AbstractHttpClient) httpClient)
                .setHttpRequestRetryHandler(new DefaultHttpRequestRetryHandler(retryCount, true));
    }
    httpClient.getParams().setIntParameter(CoreConnectionPNames.SO_TIMEOUT, socketTimeout);
}

From source file:com.nesscomputing.httpclient.factory.httpclient4.ApacheHttpClient4Factory.java

private void initParams() {
    params.setBooleanParameter(CookieSpecPNames.SINGLE_COOKIE_HEADER, true);
    params.setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY);
    params.setBooleanParameter(ClientPNames.HANDLE_REDIRECTS, true);
}

From source file:com.groupon.odo.bmp.http.BrowserMobHttpClient.java

public BrowserMobHttpClient(StreamManager streamManager, AtomicInteger requestCounter) {
    this.requestCounter = requestCounter;
    SchemeRegistry schemeRegistry = new SchemeRegistry();
    hostNameResolver = new BrowserMobHostNameResolver(new Cache(DClass.ANY));

    this.socketFactory = new SimulatedSocketFactory(hostNameResolver, streamManager);
    this.sslSocketFactory = new TrustingSSLSocketFactory(hostNameResolver, streamManager);

    this.sslSocketFactory.setHostnameVerifier(new AllowAllHostnameVerifier());

    schemeRegistry.register(new Scheme("http", 80, socketFactory));
    schemeRegistry.register(new Scheme("https", 443, sslSocketFactory));

    httpClientConnMgr = new ThreadSafeClientConnManager(schemeRegistry) {
        @Override/*from w  w  w .  j  a  v a 2  s . c  o m*/
        public ClientConnectionRequest requestConnection(HttpRoute route, Object state) {
            final ClientConnectionRequest wrapped = super.requestConnection(route, state);
            return new ClientConnectionRequest() {
                @Override
                public ManagedClientConnection getConnection(long timeout, TimeUnit tunit)
                        throws InterruptedException, ConnectionPoolTimeoutException {
                    Date start = new Date();
                    try {
                        return wrapped.getConnection(timeout, tunit);
                    } finally {
                        RequestInfo.get().blocked(start, new Date());
                    }
                }

                @Override
                public void abortRequest() {
                    wrapped.abortRequest();
                }
            };
        }
    };

    // MOB-338: 30 total connections and 6 connections per host matches the behavior in Firefox 3
    httpClientConnMgr.setMaxTotal(30);
    httpClientConnMgr.setDefaultMaxPerRoute(6);

    httpClient = new DefaultHttpClient(httpClientConnMgr) {
        @Override
        protected HttpRequestExecutor createRequestExecutor() {
            return new HttpRequestExecutor() {
                @Override
                protected HttpResponse doSendRequest(HttpRequest request, HttpClientConnection conn,
                        HttpContext context) throws IOException, HttpException {
                    long requestHeadersSize = request.getRequestLine().toString().length() + 4;
                    long requestBodySize = 0;
                    for (Header header : request.getAllHeaders()) {
                        requestHeadersSize += header.toString().length() + 2;
                        if (header.getName().equals("Content-Length")) {
                            requestBodySize += Integer.valueOf(header.getValue());
                        }
                    }

                    HarEntry entry = RequestInfo.get().getEntry();
                    if (entry != null) {
                        entry.getRequest().setHeadersSize(requestHeadersSize);
                        entry.getRequest().setBodySize(requestBodySize);
                    }

                    Date start = new Date();
                    HttpResponse response = super.doSendRequest(request, conn, context);
                    RequestInfo.get().send(start, new Date());
                    return response;
                }

                @Override
                protected HttpResponse doReceiveResponse(HttpRequest request, HttpClientConnection conn,
                        HttpContext context) throws HttpException, IOException {
                    Date start = new Date();
                    HttpResponse response = super.doReceiveResponse(request, conn, context);
                    long responseHeadersSize = response.getStatusLine().toString().length() + 4;
                    for (Header header : response.getAllHeaders()) {
                        responseHeadersSize += header.toString().length() + 2;
                    }

                    HarEntry entry = RequestInfo.get().getEntry();
                    if (entry != null) {
                        entry.getResponse().setHeadersSize(responseHeadersSize);
                    }

                    RequestInfo.get().wait(start, new Date());
                    return response;
                }
            };
        }
    };
    credsProvider = new WildcardMatchingCredentialsProvider();
    httpClient.setCredentialsProvider(credsProvider);
    httpClient.addRequestInterceptor(new PreemptiveAuth(), 0);
    httpClient.getParams().setParameter(ClientPNames.HANDLE_REDIRECTS, true);
    httpClient.getParams().setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY);
    httpClient.getParams().setParameter(CookieSpecPNames.SINGLE_COOKIE_HEADER, Boolean.TRUE);
    setRetryCount(0);

    // we always set this to false so it can be handled manually:
    httpClient.getParams().setParameter(ClientPNames.HANDLE_REDIRECTS, false);

    HttpClientInterrupter.watch(this);
    setConnectionTimeout(60000);
    setSocketOperationTimeout(60000);
    setRequestTimeout(-1);
}