package cn.ksource.web.facade.timetask; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.URL; import java.util.HashMap; import java.util.Map; import org.apache.commons.httpclient.HttpException; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.util.HttpURLConnection; import cn.ksource.web.alipay.util.httpClient.HttpProtocolHandler; import cn.ksource.web.alipay.util.httpClient.HttpRequest; import cn.ksource.web.alipay.util.httpClient.HttpResponse; import cn.ksource.web.alipay.util.httpClient.HttpResultType; public class HttpUtilTool { //application/x-www-form-urlencoded //audio/mp3 private static NameValuePair[] getParameters(String queryString){ String[] querys=queryString.split("&"); if(querys.length<=0)return null; NameValuePair[] pairs=new NameValuePair[querys.length]; int i=0; for(String query: querys){ String[] keyValues=query.split("="); NameValuePair pair=new NameValuePair(keyValues[0], keyValues[1]); pairs[i++]=pair; } return pairs; } public static String post(String postData,String url) throws HttpException, IOException { //待请求参数数组 Map sPara = new HashMap(); HttpProtocolHandler httpProtocolHandler = HttpProtocolHandler.getInstance(); HttpRequest request = new HttpRequest(HttpResultType.STRING); //设置编码集 request.setCharset("utf-8"); request.setParameters(getParameters(postData)); request.setUrl(url); request.setMethod(HttpRequest.METHOD_POST); HttpResponse response = httpProtocolHandler.execute(request,"",""); if(response==null){ System.out.println("http请求失败-url-"+url+"-postData-"+postData); return ""; } return response.getStringResult(); } private static NameValuePair[] getParameters(Map paramsMap){ if(paramsMap.size()<=0)return null; NameValuePair[] pairs=new NameValuePair[paramsMap.size()]; int i=0; for(Object key:paramsMap.keySet()){ String value=(String) paramsMap.get(key); NameValuePair pair=new NameValuePair(key.toString(), value); pairs[i++]=pair; } return pairs; } public static String post(Map paramsMap,String url) { //待请求参数数组 Map sPara = new HashMap(); HttpProtocolHandler httpProtocolHandler = HttpProtocolHandler.getInstance(); HttpRequest request = new HttpRequest(HttpResultType.STRING); request.setTimeout(10000); request.setConnectionTimeout(10000); //设置编码集 request.setCharset("utf-8"); request.setParameters(getParameters(paramsMap)); request.setUrl(url); request.setMethod(HttpRequest.METHOD_POST); HttpResponse response=null; try { response = httpProtocolHandler.execute(request,"",""); } catch (Exception e) { System.out.println("-post-"+e.toString()); } if(response==null){ System.out.println("http请求失败-url-"+url); return ""; } String responseStr=""; try { responseStr=response.getStringResult(); } catch (Exception e) { System.out.println("-post-"+e.toString()); } return responseStr; } public static String get(String urlStr){ StringBuffer sb = new StringBuffer(); URL url = null; HttpURLConnection http = null; try { url = new URL(urlStr); http = (HttpURLConnection) url.openConnection(); http.setDoInput(true); http.setDoOutput(true); http.setUseCaches(false); http.setConnectTimeout(1000*1);//设置连接超时 http.setReadTimeout(1000*1);//设置读取超时 http.setRequestMethod("GET"); http.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); http.connect(); if (http.getResponseCode() == 200) { BufferedReader in = new BufferedReader(new InputStreamReader(http.getInputStream(), "utf-8")); String inputLine; while ((inputLine = in.readLine()) != null) { sb.append(inputLine); } in.close(); } } catch (Exception e) { System.out.println("-get-"+e); } finally { if (http != null) http.disconnect(); } return sb.toString(); } }