HttpClient调用http接口(POST)

调用方法,传过去接口地址和参数(json对象或者map,在方法里转成json字符串)

JSONObject.toJSONString(map)

JSONObj.toString()

 

 

public static String getResult(String url,Map<String, String> params){
        String returnValue = null;
        HttpClient httpclient = new DefaultHttpClient();
        httpclient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 15000);
        try {
             HttpPost httppost = new HttpPost(url);
             httppost.addHeader("Content-type","application/json; charset=utf-8");  
             httppost.setHeader("Accept", "application/json");
            
             StringEntity entity = new StringEntity(JSONObject.toJSONString(params),Charset.forName("UTF-8"));    
             httppost.setEntity(entity);
             
             HttpResponse resp = httpclient.execute(httppost);
             if(resp.getStatusLine().getStatusCode() == 200) {
                HttpEntity he = resp.getEntity();
                String   respContent = EntityUtils.toString(he,"UTF-8");
                returnValue =  respContent;
             }
        }
        catch (SocketTimeoutException e) {
             e.printStackTrace();
             returnValue = "timeout";
        }catch (Exception e) {
            e.printStackTrace();
        }finally {
           // 关闭连接,释放资源
            httpclient.getConnectionManager().shutdown();
       }
       return  returnValue;
    }

posted @ 2019-08-23 10:54  庄生梦蝶  阅读(8671)  评论(0编辑  收藏  举报