httpcomponents-client-4.3.6 HttpPost的简单使用

/**
 *  httpcomponents-client-4.3.6
 * @author y
 */
public class HttpUtil {
    
    public static String httpPost( List<NameValuePair> formparams,final String url){
        UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, Consts.UTF_8);
        
        //设置网络超时
        RequestConfig config = RequestConfig.custom()
                .setConnectionRequestTimeout(3*1000)
                .setConnectTimeout(3*1000)
                .setSocketTimeout(3*1000)
                .build();
        
        HttpPost httppost = new HttpPost(url);
        httppost.setConfig(config);
        httppost.setEntity(entity);
        
        CloseableHttpClient httpclient = HttpClients.createDefault();
        CloseableHttpResponse response = null;
        
        String reuslt = "";
        
        try {
            response = httpclient.execute(httppost);
            
            if (response.getStatusLine().getStatusCode() == 200) {
                HttpEntity entityContent = response.getEntity();
                if (entityContent != null) {
                    reuslt = EntityUtils.toString(entityContent, Consts.UTF_8); //指定编码格式防止中文乱码
                }
            }else{
                Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, "网络链接超时");
            }
        } catch (IOException ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }finally {
            try{
                if(response!=null){
                    response.close();
                }
            }catch (IOException ex) {
                Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        
        return reuslt;
    }
    
}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。