All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.xiongyingqi.http.HttpAccess Maven / Gradle / Ivy

package com.xiongyingqi.http;

import com.xiongyingqi.util.FileHelper;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.entity.ContentType;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;

import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.Charset;

/**
 * Created by 瑛琪xiongyingqi.com on 2014/5/4 0004.
 */
public class HttpAccess {
    public static Charset defaultCharset = Charset.forName("UTF-8");

    public static CloseableHttpClient getClient() {
        HttpClientBuilder client = HttpClientBuilder.create();
        CloseableHttpClient closeableHttpClient = client.build();
        return closeableHttpClient;
    }

    public static String execute(CloseableHttpClient closeableHttpClient, HttpRequestBase requestBase) throws IOException {
        CloseableHttpResponse response = closeableHttpClient.execute(requestBase);
        return readResponseToString(response);
    }

    public static InputStream executeAndGetInputStream(CloseableHttpClient closeableHttpClient, HttpRequestBase requestBase) throws IOException {
        CloseableHttpResponse response = closeableHttpClient.execute(requestBase);
        return readResponse(response);
    }


    public static InputStream readResponse(CloseableHttpResponse response) throws IOException {
        HttpEntity entity = response.getEntity();
        InputStream inputStream = entity.getContent();
//        String result = FileHelper.readInputStreamToString(inputStream, charset);
//        result = URLDecoder.decode(result, charset.toString());
        return inputStream;
    }

    public static String readResponseToString(CloseableHttpResponse response) throws IOException {
        HttpEntity entity = response.getEntity();
        ContentType contentType = ContentType.getOrDefault(entity);// 获取编码
        Charset charset = contentType.getCharset();
        if (charset == null) {
            charset = defaultCharset;
        }
        InputStream inputStream = entity.getContent();
        String result = FileHelper.readInputStreamToString(inputStream, charset);
//        result = URLDecoder.decode(result, charset.toString());
        return result;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy