com.rslakra.testcases.apache.TestApacheHttpClasses.java Source code

Java tutorial

Introduction

Here is the source code for com.rslakra.testcases.apache.TestApacheHttpClasses.java

Source

/******************************************************************************
 * Copyright (C) Devamatre Inc 2009-2018. All rights reserved.
 * 
 * This code is licensed to Devamatre under one or more contributor license 
 * agreements. The reproduction, transmission or use of this code, in source 
 * and binary forms, with or without modification, are permitted provided 
 * that the following conditions are met:
 * 1. Redistributions of source code must retain the above copyright
 *      notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *      
 * Devamatre reserves the right to modify the technical specifications and or 
 * features without any prior notice.
 *****************************************************************************/
package com.rslakra.testcases.apache;

import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

/**
 * 
 * @author Rohtash Singh Lakra
 */
public class TestApacheHttpClasses {

    /**
     * 
     * @param args
     * @throws Exception
     */
    public static void main(String[] args) throws Exception {
        CloseableHttpClient httpClient = HttpClients.createDefault();
        final String urlString = "https://qawest.meetx.org/";

        CloseableHttpResponse httpResponse = null;

        try {
            HttpGet httpGet = new HttpGet(urlString);
            httpResponse = httpClient.execute(httpGet);
            /**
             *
             * The underlying HTTP connection is still held by the response
             * object to allow the response content to be streamed directly from
             * the network socket.
             * In order to ensure correct deallocation of system resources the
             * user MUST call CloseableHttpResponse#close() from a finally
             * clause.
             * Please note that if response content is not fully consumed the
             * underlying connection cannot be safely re-used and will be shut
             * down and discarded by the connection manager.
             */

            try {
                System.out.println(httpResponse.getStatusLine());
                Header[] headers = httpGet.getAllHeaders();
                for (Header header : headers) {
                    System.out.println(header.getName() + "=" + header.getValue());
                }

                HttpEntity httpEntity = httpResponse.getEntity();
                // do something useful with the response body
                // and ensure it is fully consumed
                EntityUtils.consume(httpEntity);
            } finally {
                if (httpResponse != null) {
                    httpResponse.close();
                }
            }

            // HttpPost httpPost = new HttpPost(urlString);
            // List<NameValuePair> nvps = new ArrayList<NameValuePair>();
            // nvps.add(new BasicNameValuePair("username", "vip"));
            // nvps.add(new BasicNameValuePair("password", "secret"));
            // httpPost.setEntity(new UrlEncodedFormEntity(nvps));
            // CloseableHttpResponse response2 = httpclient.execute(httpPost);
            //
            // try {
            // System.out.println(response2.getStatusLine());
            // HttpEntity entity2 = response2.getEntity();
            // // do something useful with the response body
            // // and ensure it is fully consumed
            // EntityUtils.consume(entity2);
            // } finally {
            // response2.close();
            // }
        } finally {
            httpClient.close();
        }
    }

}