HttpClient 中的get, post使用示例

一、Get

示例代码
public static void test_httpClient_get(){
HttpClient httpClient = null;
try {
String url = “http://localhost:8080/testget“;

        httpClient = new DefaultHttpClient();

        //连接超时设置,单位毫秒
        httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 10000);

        //读取超时, 单位毫秒
        httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 60000);

        String param1 = "param_";
        String param2 = "param2";

        //如果不需要传递参数,直接使用 HttpGet httpGet = new HttpGet(url)即可。
        List<NameValuePair> list = new ArrayList<NameValuePair>();
        list.add(new BasicNameValuePair("param1", param1));
        list.add(new BasicNameValuePair("param2", param2));

        String getParams = EntityUtils.toString(new UrlEncodedFormEntity(list, HTTP.UTF_8));
        HttpGet httpGet = new HttpGet(url + "?" + getParams);            

        HttpResponse httpResponse = httpClient.execute(httpGet);
        HttpEntity entity = httpResponse.getEntity();
        if (entity != null) {
            Charset respCharset = ContentType.getOrDefault(entity).getCharset();
            String respData = EntityUtils.toString(entity, respCharset);            

            //此处还可以根据状态判断返回值,略

            renderText(respData);
        } else {
            renderText("entity is null");
        }            
    }catch (Exception e) {
        e.printStackTrace();
        renderText("error" + e.toString());            
    } finally {
        if (httpClient != null){
            httpClient.getConnectionManager().shutdown();
        }
    }
}

二、Post

示例代码
public static void test_httpClient_post(){
HttpClient httpClient = null;
try {
String url = “http://localhost:8080/“;
httpClient = new DefaultHttpClient();

        //连接超时设置,单位毫秒
        httpClient.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 10000);

        //读取超时, 单位毫秒
        httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 60000);

        String param1 = "post_param1";
        String param2 = "post_param2";

        List<NameValuePair> list = new ArrayList<NameValuePair>();
        list.add(new BasicNameValuePair("param1", param1));
        list.add(new BasicNameValuePair("param2", param2));


        HttpPost httpPost = new HttpPost(url);

        //如果不带参数,以下可略
        HttpEntity paramEntity = new UrlEncodedFormEntity(list, "UTF-8");
        httpPost.setEntity(paramEntity);

        //执行
        HttpResponse httpResponse = httpClient.execute(httpPost);
        HttpEntity entity = httpResponse.getEntity();
        if (entity != null) {
            //状态,该状态可用于判断,此处略
            System.out.println("resp_status:" + httpResponse.getStatusLine().getStatusCode());
            Charset respCharset = ContentType.getOrDefault(entity).getCharset();
            String respData = EntityUtils.toString(entity, respCharset);            

            renderText("status:" + httpResponse.getStatusLine().getStatusCode() + "\r\n" + respData);
        } else {
            renderText("entity is null");
        }            
    }catch (Exception e) {
        e.printStackTrace();
        renderText("error" + e.toString());

    } finally {
        if (httpClient != null){
            httpClient.getConnectionManager().shutdown();
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值