HttpPost接口調用


package com.fastech.test;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class HttpPostTool {
/**
 * 需要導入 json-lib-2.4-jdk15.jar
 *       httpclient-4.3.1.jar
 *       httpcore-4.3.jar
 * @param parammap 傳參
 * @param postpath 接口路徑
 * @author mnn
 * @return JSONObject 調用接口返回數據
 * */
    public JSONObject httpPostTool(Map<String,Object> parammap,String postpath) {
        JSONObject jsonobject=null;
        CloseableHttpClient httpclient = HttpClients.createDefault();
        // 創建httppost
        HttpPost httppost = new HttpPost(postpath);
        // 創建參數隊列
        List<NameValuePair> formparams = new ArrayList<NameValuePair>();
        for (Map.Entry<String, Object> entry : parammap.entrySet()) { 
            formparams.add(new BasicNameValuePair(entry.getKey(), entry.getValue().toString()));
        }
        
        UrlEncodedFormEntity uefEntity;
        try {
            uefEntity = new UrlEncodedFormEntity(formparams, "UTF-8");
            httppost.setEntity(uefEntity);
            CloseableHttpResponse response = httpclient.execute(httppost);
            try {
                HttpEntity entity = response.getEntity();
                if (entity != null) {
                    // 調用接口返回的字符串
                    String responseString = EntityUtils.toString(entity, "UTF-8");
                    jsonobject = JSONObject.fromObject(responseString);
                }
            } finally {
                response.close();
            }
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e1) {
            e1.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 關閉連接,釋放資源
            try {
                httpclient.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
         return jsonobject;
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM