import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.nio.charset.Charset; import java.util.Map; import java.util.Vector; /** * Java HTTP请求对象 发送GET/POST请求工具类 */ public class HttpRequester { private String defaultContentEncoding; public HttpRequester() { this.defaultContentEncoding = Charset.defaultCharset().name(); } /** * 发送GET请求 * * @param urlString URL地址 * @return 响应对象 * @throws IOException */ public HttpRespons sendGet(String urlString) throws IOException { return this.send(urlString, "GET", null, null); } /** * 发送GET请求 * * @param urlString URL地址 * @param params 参数集合 * @return 响应对象 * @throws IOException */ public HttpRespons sendGet(String urlString, Mapparams) throws IOException { return this.send(urlString, "GET", params, null); } /** * 发送GET请求 * * @param urlString URL地址 * @param params 参数集合 * @param propertys 请求属性 * @return 响应对象 * @throws IOException */ public HttpRespons sendGet(String urlString, Map params, Map propertys) throws IOException { return this.send(urlString, "GET", params, propertys); } /** * 发送POST请求 * * @param urlString URL地址 * @return 响应对象 * @throws IOException */ public HttpRespons sendPost(String urlString) throws IOException { return this.send(urlString, "POST", null, null); } /** * 发送POST请求 * * @param urlString URL地址 * @param params 参数集合 * @return 响应对象 * @throws IOException */ public HttpRespons sendPost(String urlString, Map params) throws IOException { return this.send(urlString, "POST", params, null); } /** * 发送POST请求 * * @param urlString URL地址 * @param params 参数集合 * @param propertys 请求属性 * @return 响应对象 * @throws IOException */ public HttpRespons sendPost(String urlString, Mapparams, Map propertys) throws IOException { return this.send(urlString, "POST", params, propertys); } /** * 发送HTTP请求 * * @param urlString 地址 * @param method get/post * @param parameters 添加由键值对指定的请求参数 * @param propertys 添加由键值对指定的一般请求属性 * @return 响映对象 * @throws IOException */ private HttpRespons send(String urlString, String method, Map parameters, Map propertys) throws IOException { HttpURLConnection urlConnection = null; if (method.equalsIgnoreCase("GET") && parameters != null) { StringBuffer param = new StringBuffer(); int i = 0; for (String key : parameters.keySet()) { if (i == 0) param.append(" "); else param.append("&"); param.append(key).append("=").append(parameters.get(key)); i++; } urlString += param; } URL url = new URL(urlString); urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod(method); urlConnection.setDoOutput(true); urlConnection.setDoInput(true); urlConnection.setUseCaches(false); if (propertys != null) for (String key : propertys.keySet()) { urlConnection.addRequestProperty(key, propertys.get(key)); } if (method.equalsIgnoreCase("POST") && parameters != null) { St