/** * 读网页源代码 *
*
@param url * 网页地址
*
@param data *POST数据 (留空则GET)
*
@param charset *编码类型
*
@return 网页源代码 */
public static String POST(String url, String data, String charset) {
String method = data == null || data.equals("") ? "GET" : "POST";
// 如果data数据为空,则执行GET请求,否则为POST
StringBuffer sb = new StringBuffer();
try {URL u = new URL(url);
HttpURLConnection urlcon = (HttpURLConnection) u.openConnection();
urlcon.setDoOutput(true);
urlcon.setDoInput(true);
// urlcon.setRequestProperty("User-Agent",// "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
// urlcon.setRequestProperty("Accept",// "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*");
// urlcon.setRequestProperty("Referer", url);
// urlcon.setRequestProperty("Accept-Language", "zh-cn");
// urlcon.setRequestProperty("Content-Type",// "application/x-www-form-urlencoded");
// urlcon.setRequestProperty("Content-Length", data.length()+"");
urlcon.setUseCaches(false);
urlcon.setRequestMethod(method);
urlcon.setReadTimeout(5000);
urlcon.setConnectTimeout(5000);
if (method.equals("POST")) { // POST请求时发送数据
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(urlcon.getOutputStream(), charset));
bw.write(data);
bw.flush();
bw.close();
}
// 读返回的HTML源代码
BufferedReader br = new BufferedReader(new InputStreamReader(urlcon.getInputStream(), charset));
String t;
while ((t = br.readLine()) != null) {
sb.append(t + "\n");}br.close();
} catch (Exception e) {e.printStackTrace();}
return sb.toString();}