import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpPost {
/**
* 发送 post 请求
* @param uri 请求的 url
* @param param 请求的 参数,以"a=1&b=2" 的格式
* @param charset 编码。英文编码:"utf-8",中文编码:"gbk"
* @return
*/
public static String sendPost(String uri, String param, String charset) {
String result = null;
PrintWriter out = null;
InputStream in = null;
try {
URL url = new URL(uri);
HttpURLConnection urlcon = (HttpURLConnection) url.openConnection();
urlcon.setDoInput(true);
urlcon.setDoOutput(true);
urlcon.setUseCaches(false);
urlcon.setRequestMethod("POST");
urlcon.connect();// 获取连接
out = new PrintWriter(urlcon.getOutputStream());
out.print(param);
out.flush();
in = urlcon.getInputStream();
BufferedReader buffer = new BufferedReader(new InputStreamReader(
in, charset));
StringBuffer bs = new StringBuffer();
String line = null;
while ((line = buffer.readLine()) != null) {
bs.append(line);
}
result = bs.toString();
} catch (Exception e) {
System.out.println("[请求异常][地址:" + uri + "][参数:" + param + "][错误信息:"
+ e.getMessage() + "]");
} finally {
try {
if (null != in) {
in.close();
}
if (null != out) {
out.close();
}
} catch (Exception e2) {
System.out.println("[关闭流异常][错误信息:" + e2.getMessage() + "]");
}
}
return result;
}
public static void main(String[] args) {
String url = "http://mis.teach.ustc.edu.cn/kbcx.do";
String result = sendPost(url, "xq=20181&xklb=b&cxfs=0", "gbk");
System.out.println(result);
}
}