public class WebTools { public static void main(String[] args) { String proxy = "proxy1.bj.petrochina"; int port = 8080; String username = "name"; String password = "pwd"; initProxy(proxy,port,username,password); String url="http://www.google.com"; /*System.out.println("content= "+WebTools.getHTML("http://www.baidu.com", "GB2312")); System.out.println("网页源码:"+WebTools.getHTML("http://localhost:9001/rdfcc", "UTF-8"));*/ String[] res=WebTools.getSourceCode(url, "UTF-8"); if(res[0].equals("0")){ System.out.println("Geting Source Code Failed With:"+res[1]); }else{ System.out.println("The Source Code Of "+url+" Is :\r\n"+res[1]); } } /** * Initialize the network proxy, if the internal network needs a proxy to access the external network, then you need to call this method * @param host proxy name * @param port port number * @param username username (if any) * @param password password (if any) */ public static void initProxy(String host, int port, final String username, final String password) { Authenticator.setDefault(new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, new String(password).toCharArray()); } }); System.setProperty("proxyType", "4"); System.setProperty("proxyPort", Integer.toString(port)); System.setProperty("proxyHost", host); System.setProperty("proxySet", "true"); } /** * Get webpage source code * @param pageURL address * @param encoding web page encoding * @return String array of length 2, the first element indicates whether the acquisition is successful, and the second element indicates whether the return information is successful or not */ public static String [] getSourceCode (String pageURL, String encoding) { StringBuilder pageHTML = new StringBuilder(); try { URL url = new URL (pageURL); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestProperty("User-Agent", "MSIE 7.0"); BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), encoding)); String line = null; while ((line = br.readLine()) != null) { pageHTML.append(line); pageHTML.append("\r\n"); } connection.disconnect(); } catch (Exception e) { return new String[]{"0",e.getMessage()}; } return new String[]{"1",pageHTML.toString()}; } }