package com.ceair.utils;
import java.io.IOException;
import java.util.Map;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
import com.google.common.collect.Maps;
public class Main {
private static String send(String url , Map<String , Object> params) throws Exception{
HttpClient httpClient = new HttpClient();
PostMethod postMethod = new PostMethod(url);
postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
NameValuePair[] data = new NameValuePair[params.size()] ;
int idx = 0 ;
for(Map.Entry<String , Object> param : params.entrySet()){
data[idx++] = new NameValuePair(param.getKey() , param.getValue() == null ? "" : param.getValue().toString() ) ;
}
postMethod.setRequestBody(data);
String returnStr = null ;
int statusCode = -1 ;
try {
statusCode = httpClient.executeMethod(postMethod);
if(statusCode==200){
try {
returnStr = postMethod.getResponseBodyAsString() ;
} catch (IOException e) {
throw new Exception("can not connet") ;
}
finally{
postMethod.abort() ;
}
}
else {
throw new Exception("can not connet") ;
}
} catch (HttpException e) {
throw new Exception("can not connet") ;
} catch (IOException e1) {
throw new Exception("can not connet") ;
}
return returnStr ;
}
public static void main(String[] args) throws Exception {
Map<String , Object> params = Maps.newHashMap() ;
params.put("A", "a老李a") ;
params.put("B", "b老李b") ;
params.put("C", "c老李c") ;
String s = Main.send("http://127.0.0.1:8000/say?username="+java.net.URLEncoder.encode("liyang老李","utf-8") , params) ;
System.out.println(s);
}
}