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<String, String> sPara = new HashMap<String,String>();
|
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<String, String> sPara = new HashMap<String,String>();
|
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();
|
}
|
}
|