zoukankan      html  css  js  c++  java
  • 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();
            }
    
        }
    
    }
    

      

  • 相关阅读:
    cmd 窗口中运行 Java 程序
    局部变量保证线程安全
    AQS源码详细解读
    理解 Java 内存模型的因果性约束
    高性能Java序列化框架Fse发布
    心跳与超时:高并发高性能的时间轮超时器
    支持内部晋升的无锁并发优先级线程池
    最终一致性:BASE论文笔记
    Activiti架构分析及源码详解
    理解OAuth2
  • 原文地址:https://www.cnblogs.com/haorun/p/6483242.html
Copyright © 2011-2022 走看看