import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Map;
/**
* @author zhengshijun
* @date 2014-7-1 上午10:14:39
*/
public class HttpURL {
public String execute(String uri,Map<String,Object> pareams) throws Exception{
String result = null;
URL url = new URL(uri);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST"); //设置提交方法
conn.setConnectTimeout(10000); //连接超时 单位毫秒
conn.setReadTimeout(2000);//读取超时 单位毫秒
conn.setDoOutput(true);// 是否输入参数
StringBuffer params = new StringBuffer();
for(String key:pareams.keySet()){
params.append(key).append(pareams.get(key)).append("&");
}
params.deleteCharAt(params.length()-1);
byte[] bypes = params.toString().getBytes();
conn.getOutputStream().write(bypes);// 输入参数
InputStream in=conn.getInputStream();
//读取1
byte[] b = new byte[in.available()];
int len ;
while((len=in.read(b,0,b.length))!=-1){
in.read(b,0,len);
}
//读取2
in.read(b);
result = new String(b,"GBK");
//读取3
int leng = 0;
int temp=0; //所有读取的内容都使用temp接收
while((temp=in.read())!=-1){ //当没有读取完时,继续读取
b[leng]=(byte)temp;
leng++;
}
in.close();
result = new String(b,0,leng);
return result;
}
}