客戶端進行網絡請求,也是常用的一個工具類,所以封裝起來用到的時候就可以使用了
package utils;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
public class HttpManager {
/**
* 用POST請求返回消息的方法
* @param action 地址路徑
* @param par 參數鍵值對
* @return
*/
public static String doPost(String action, Map<String, String> par) {
String responStr = null;
try {
URL url = new URL(action);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setDoInput(true);
con.setDoOutput(true);
con.setUseCaches(false);
if (null != par) {
DataOutputStream out = new DataOutputStream(
con.getOutputStream());
StringBuffer sb = new StringBuffer();
Iterator<Entry<String, String>> it = par.entrySet().iterator();
while (it.hasNext()) {
Entry<String, String> en = it.next();
sb.append(en.getKey()).append("=")
.append(URLEncoder.encode(en.getValue(), "gbk"))
.append("&");
}
int len = sb.length();
sb.delete(len - 1, len);
out.writeBytes(sb.toString());
out.flush();
}
con.connect();
if (con.getResponseCode() == 200) {
BufferedReader br = new BufferedReader(new InputStreamReader(
con.getInputStream()));
StringBuffer result = new StringBuffer();
String str;
while ((str = br.readLine()) != null) {
result.append(str);
}
responStr = result.toString();
br.close();
}
con.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
return responStr;
}
/**
* 用GEt請求返回的消息的方法
* @param path 地址路徑
*/
public static String doGet(String path){
StringBuffer result=new StringBuffer();
try {
URL url=new URL(path);
HttpURLConnection con=(HttpURLConnection)url.openConnection();
con.setRequestMethod("GET");
if(con.getResponseCode()==200){
BufferedReader br=new BufferedReader(new InputStreamReader(con.getInputStream()));
String str;
while((str=br.readLine())!=null){
result.append(str);
}
br.close();
}
con.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
return result.toString();
}
}