package com.*; import Java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import java.util.Map.Entry; import javax.mail.Internet.HeaderTokenizer.Token; import net.sf.json.JSONObject; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; 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.util.EntityUtils; /** * Http Post * 調用遠程接口 * @author lxk * */ public class HttpPoster{ public String sendMap(String url,Map<String, Object> map){ DefaultHttpClient httpclient = new DefaultHttpClient(); String smsUrl=url; HttpPost httppost = new HttpPost(smsUrl); String strResult = ""; try { List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); Set<Entry<String, Object>> set = map.entrySet(); for (Entry<String, Object> entry : set) {//循環map傳遞進來的參數,如有不理解可參看我之前發的博文 nameValuePairs.add(new BasicNameValuePair(entry.getKey(), entry.getValue().toString())); } httppost.addHeader("Content-type", "application/x-www-form-urlencoded"); httppost.setEntity( new UrlEncodedFormEntity(nameValuePairs,"UTF-8")); HttpResponse response = httpclient.execute(httppost); if (response.getStatusLine().getStatusCode() == 200) { /*讀返回數據*/ String conResult = EntityUtils.toString(response .getEntity()); system.out.println("成功拿到返回數據"); return conResult; } else { String err = response.getStatusLine().getStatusCode()+""; strResult += "接口通信失敗:"+err; } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } System.out.println("通信失敗:"+strResult); return "error"; } }
Tags: package Object public import 接口
文章來源: