zoukankan      html  css  js  c++  java
  • 03_HttpClient_Post请求

    【实例1.最最最简洁的POST请求】

    @Test
    public void test1() throws Exception{
        //1.创建Htpclient实例(可关闭 Closeable)
        CloseableHttpClient httpClient =HttpClients.createDefault();
        
        //2.创建一个HTTP POST请求的HttpPost实例
        HttpPost httpPost=new HttpPost("http://www.baidu.com");
        
        //3.执行请求,获得响应的实例
        CloseableHttpResponse response=httpClient.execute(httpPost);
        
        response.close();
        httpClient.close();
    }

    【实例2.带Entity的Post请求】

    @Test
    public void test2() throws Exception{
        //1.创建Htpclient实例(可关闭 Closeable)
        CloseableHttpClient httpClient =HttpClients.createDefault();
        
        //2.创建一个HTTP POST请求的HttpPost实例
        HttpPost httpPost=new HttpPost("http://www.baidu.com");
        
        //设置POST请求的参数
        List<NameValuePair> params=new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("startDate", "2016-02-10"));
        params.add(new BasicNameValuePair("endDate", "2016-07-04"));
        HttpEntity urlEntity=new UrlEncodedFormEntity(params,"UTF-8");
        //添加参数至Post请求中
        httpPost.setEntity(urlEntity);
        
        //3.执行请求,获得响应的实例
        CloseableHttpResponse response=httpClient.execute(httpPost);
        
        response.close();
        httpClient.close();
    }

     【实例3.设置代理使用Fiddler抓取对应的Entity】

    @Test 
    public void testRequestConfigPost() throws ClientProtocolException, IOException{
        CloseableHttpClient  httpclient=HttpClients.createDefault();
        
        HttpPost httpPost=new  HttpPost("http://www.baidu.com");
        
        /**设置请求和传输的超时时间**/
        RequestConfig.Builder builder=RequestConfig.custom()
                                    .setConnectionRequestTimeout(500)
                                    .setConnectTimeout(500)
                                    .setSocketTimeout(500);
        String proxy="127.0.0.1:8888";
        builder.setProxy(HttpHost.create(proxy));  //设置代理
        RequestConfig requestConfig=builder.build();
        
        httpPost.setConfig(requestConfig);  //将配置requestConfig设置到HttpGet请求中
    
        //设置POST请求的参数
        List<NameValuePair> params=new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("startDate", "2016-02-10"));
        params.add(new BasicNameValuePair("endDate", "2016-07-04"));
        HttpEntity urlEntity=new UrlEncodedFormEntity(params,"UTF-8");
        //添加参数至Post请求中
        httpPost.setEntity(urlEntity);
        
        CloseableHttpResponse response=httpclient.execute(httpPost);
        
        response.close();
        httpclient.close();
    }

    [ 使用Fiddler抓取结果 ]

  • 相关阅读:
    幂等性
    视频上墙
    java 字符串 大小写转换 、去掉首末端空格 、根据索引切割字符 、判断是否含有某连续字符串
    Java 递归 常见24道题目 总结
    Java 单引号 与 双引号 区别
    细谈 Java 匿名内部类 【分别 使用 接口 和 抽象类实现】
    细谈 == 和 equals 的具体区别 【包括equals源码分析】
    简单谈谈 数组排序 的方法 【自定义算法 、 冒泡算法 等】
    细说 栈 为什么又被称为 栈堆 ?【得从数组变量讲起】
    简单谈谈 堆、栈、队列 【不要傻傻分不清】
  • 原文地址:https://www.cnblogs.com/HigginCui/p/6116597.html
Copyright © 2011-2022 走看看