com.ny.apps.executor.httpclient.HttpRequestSender.java Source code

Java tutorial

Introduction

Here is the source code for com.ny.apps.executor.httpclient.HttpRequestSender.java

Source

/**
 * 
 * @Title HttpRequestSender.java
 * @Description TODO
 * Copyright: Copyright (c) 2013, Smiletony and/or its affiliates. All rights reserved.
 * SMILETONY PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 * 
 * @author NY
 * @date 2013-10-17 ?9:51:36
 * 
 */
package com.ny.apps.executor.httpclient;

import java.io.IOException;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.ResponseHandler;
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;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 *
 * @Description TODO
 * @author <a href="mailto:mynameisny@qq.com">Tony Joseph</a>
 * @version 1.0
 *
 */
public class HttpRequestSender {
    private static Logger logger = LoggerFactory.getLogger(HttpRequestSender.class);

    public static void main(String[] args) throws ClientProtocolException, IOException {
        /*
        CredentialsProvider credsProvider = new BasicCredentialsProvider();
        credsProvider.setCredentials(new AuthScope("localhost", 80), new UsernamePasswordCredentials("root", "123"));
        CloseableHttpClient client = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build();
        */
        CloseableHttpClient client = HttpClients.createDefault();
        HttpGet httpGet = new HttpGet("http://www.baidu.com/");
        httpGet.setHeader("Authorization", "");
        logger.info("executing request " + httpGet.getURI());

        ResponseHandler<String> responseHandler = new ResponseHandler<String>() {
            @Override
            public String handleResponse(HttpResponse response) throws ClientProtocolException, IOException {
                // TODO ?
                int statusCode = response.getStatusLine().getStatusCode();
                if (statusCode >= 200 && statusCode < 300) {
                    HttpEntity entity = response.getEntity();
                    return entity == null ? null : EntityUtils.toString(entity);
                } else {
                    throw new ClientProtocolException("Unexpected response status: " + statusCode);
                }
            }
        };

        try {
            String responseBody = client.execute(httpGet, responseHandler);
            System.out.println("----------------------------------------");
            System.out.println(responseBody);
            System.out.println("----------------------------------------");
        } finally {
            client.close();
        }
    }
}