天天看點

Java post 送出資料工具類

Java post 送出資料工具類

package com.wd.util;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.apache.http.HttpResponse;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;

public class HttpUtil {
    /**
     * 送出Post請求
     * @param params url參數Map
     * @param url
     * @return
     */
    public String post(Map<String,String> params,String url){

        List<BasicNameValuePair> paramsList = new ArrayList<BasicNameValuePair>();
        for(String key : params.keySet()){
            paramsList.add(new BasicNameValuePair(key, params.get(key)));
        }

        // 第一步,建立HttpPost對象
        HttpPost httpPost = new HttpPost(url);
        HttpResponse httpResponse = null;

        try {
            // 設定httpPost請求參數
            httpPost.setEntity(new UrlEncodedFormEntity(paramsList,HTTP.UTF_8));
            // 第二步,使用execute方法發送HTTP GET請求,并傳回HttpResponse對象
            httpResponse = new DefaultHttpClient()
            .execute(httpPost);
            // 第三步,使用getEntity方法活得傳回結果
            if (httpResponse.getStatusLine().getStatusCode() == 200) {
            String result = EntityUtils
                    .toString(httpResponse.getEntity());
                return result;
            }
        } catch (Exception e) {
            e.printStackTrace();
        } 
        return "-1";
    }

}