HttpClient 调接口

package httpclient;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;

public class HttpClientTest {

    /**
     * 如果为了增加效率可以使用 async-http-client.jar
     * 
     * @HttpClient post形式调接口
     */
    public static void main(String[] args) {

        HttpClient client = new HttpClient();
        client.getParams().setCredentialCharset("UTF-8");

        client.getHostConfiguration().setHost("127.0.0.1", 9000, "http");
        List<?> hts = new ArrayList<String>();
        client.getHostConfiguration().getParams().setParameter("http.default-headers", hts);
        PostMethod method = new PostMethod("/userManager/rollUser");
        method.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
        // 传参数
        NameValuePair msgpara = new NameValuePair();
        msgpara.setName("selCity");
        msgpara.setValue("aaaaaaaaaaaaa");
        method.addParameter(msgpara);

        try {
            // 状态,一般200为OK状态,其他情况会抛出如404,500,403等错误  
            int statusCode = client.executeMethod(method);
            if (statusCode != HttpStatus.SC_OK) {
                System.out.println("远程访问失败。");
            }
            // d = method.getResponseBodyAsString();
            InputStream resStream = method.getResponseBodyAsStream();
            BufferedReader br = new BufferedReader(new InputStreamReader(resStream));
            StringBuffer resBuffer = new StringBuffer();
            String resTemp = "";
            while ((resTemp = br.readLine()) != null) {
                resBuffer.append(resTemp);
            }
            String response = resBuffer.toString();
            // 打印返回的内容
            System.out.println(response);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            method.releaseConnection();
        }

    }

}

  

原文地址:https://www.cnblogs.com/haorun/p/6483242.html