//访问URL
public class HttpUtil {
public static String callWebPage(String urlStr, String postData) {
return callWebPage(urlStr, postData, "UTF-8");
}
public static String callWebPage(String urlStr, String postData, String encoding) {
String rStr = null;
BufferedReader in = null;
PrintWriter out = null;
try {
// 打开和URL之间的连接
URLConnection conn = (new URL(urlStr)).openConnection();
StringBuffer sb = new StringBuffer();
// 设置通用的请求属性
conn.setRequestProperty("accept", "*/*");
conn.setRequestProperty("connection", "Keep-Alive");
conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
if (postData != null) {
conn.setDoOutput(true);
conn.setDoInput(true);
}
// 建立实际的连接
conn.connect();
// Post数据(如果非空的话, 获取URLConnection对象对应的输出流并输出参数)
if (postData != null) {
if(encoding==null || "".equals(encoding)){
out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream()), true);
}else{
out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(), encoding), true);
}
out.print(postData);
out.flush();
}
// 获取所有响应头字段
// Map<String, List<String>> map = connection.getHeaderFields();
// for (String key : map.keySet()) { System.out.println(key +
// " <== " + map.get(key)); }
// 定义 BufferedReader输入流来读取URL的响应
if(encoding==null || "".equals(encoding)){
in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
}else{
in = new BufferedReader(new InputStreamReader(conn.getInputStream(), encoding));
}
String line;
while ((line = in.readLine()) != null) {
sb.append(line);
}
rStr = sb.toString();
} catch (Exception e) {
LogUtil.exception(e);
} finally {
try {
if (out != null) {
out.close();
}
} catch (Exception ee) {
}
try {
if (in != null) {
in.close();
}
} catch (Exception ee) {
}
}
return rStr;
}
}