天天看點

86-MyHttpClientThird

package com.homlin.module.qyapi.utils;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.RequestEntity;
import org.apache.commons.httpclient.methods.StringRequestEntity;
import org.apache.commons.httpclient.params.HttpMethodParams;

import java.io.IOException;


/**
 * super_dev_007 2020/11/22
 */
public class MyHttpClientThird {
    /**
     * 發起POST請求
     *
     * @param url       url
     * @param paramJson 參數的json格式
     */
    public static String sendPost(String url, String paramJson) {

        // 建立httpClient執行個體對象
        HttpClient httpClient = new HttpClient();
        // 設定httpClient連接配接主機伺服器逾時時間:15000毫秒
        httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(15000);
        // 建立post請求方法執行個體對象
        PostMethod postMethod = new PostMethod(url);
        // 設定post請求逾時時間
        postMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 60000);
        postMethod.addRequestHeader("Content-Type", "application/json");
        try {
            //json格式的參數解析
            RequestEntity entity = new StringRequestEntity(paramJson, "application/json", "UTF-8");
            postMethod.setRequestEntity(entity);

            httpClient.executeMethod(postMethod);
            String result = postMethod.getResponseBodyAsString();
            postMethod.releaseConnection();
            return result;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 發起GET請求
     *
     * @param urlParam url請求,包含參數
     */
    public static String sendGet(String urlParam) {
        // 建立httpClient執行個體對象
        HttpClient httpClient = new HttpClient();
        // 設定httpClient連接配接主機伺服器逾時時間:15000毫秒
        httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(15000);
        // 建立GET請求方法執行個體對象
        GetMethod getMethod = new GetMethod(urlParam);
        // 設定post請求逾時時間
        getMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 60000);
        getMethod.addRequestHeader("Content-Type", "application/json;charset=UTF-8");
        try {
            httpClient.executeMethod(getMethod);
            String result = getMethod.getResponseBodyAsString();
            getMethod.releaseConnection();
            return result;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}