import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.BufferedReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
/**
* @author java 后台发送请求
*/
public class HttpUtil {
public static String http(String url, Map<String, String> params) throws Exception {
URL u = null;
HttpURLConnection con = null;
//构建请求参数
StringBuffer sb = new StringBuffer();
String str = "";
if(params!=null){
for (Entry<String, String> e : params.entrySet()) {
sb.append(e.getKey());
sb.append("=");
sb.append(e.getValue());
sb.append("&");
}
str = sb.substring(0, sb.length() - 1);
}
System.out.println("send_url:"+url);
System.out.println("send_data:"+str);
//尝试发送请求
try {
u = new URL(url);
con = (HttpURLConnection) u.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
con.setDoInput(true);
con.setUseCaches(false);
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
OutputStreamWriter osw = new OutputStreamWriter(con.getOutputStream(), "UTF-8");
osw.write(str);
osw.flush();
osw.close();
} catch (Exception e) {
e.printStackTrace();
throw e;
} finally {
if (con != null) {
con.disconnect();
}
}
//读取返回内容
StringBuffer buffer = new StringBuffer();
try {
BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(), "UTF-8"));
String temp;
while ((temp = br.readLine()) != null) {
buffer.append(temp);
buffer.append("\n");
}
} catch (Exception e) {
e.printStackTrace();
throw e;
}
return buffer.toString();
}
public static void main(String[] args) throws Exception{
Map map = new HashMap();
map.put("grant_type", "authorization_code");
map.put("code", "021b2370c41e1b9d94a3978b7f5dd03F");
map.put("secret", "57c181c4181878d155a45b6446e013c1");
map.put("appid", "wx4275fa4f86132012");
System.out.println(HttpUtil.http("https://api.weixin.qq.com/sns/oauth2/access_token",map ));
}
}