Java 網路程式設計 -- 網頁下載
Java 網路程式簡介IPURLUDPTCPTelnetWebServer網頁下載網路爬蟲Proxy瀏覽器訊息相關網站參考文獻最新修改簡體版English |
本文示範如何用 Java 程式下載一個網頁,因此筆者撰寫了一個稱為 UrlDownload 的類別,使用方法為 java <url> <file> ,舉例而言,如果您使用 java http://tw.yahoo.com/ yahoo.htm 指令,就可以將 Yahoo 台灣的首頁下載到 yahoo.htm 這個檔案中。 程式:UrlDownload.javaimport java.io.*; import java.net.*; import java.util.*; public class UrlDownload { // 主程式: 用法 java <url> <file> <proxy?> <port?>, 範例: java http://tw.yahoo.com/ yahoo.htm public static void main(String[] args) throws Exception { URL url = new URL(args[0]); // 建立URL物件 if (args.length == 4) setProxy(args[2], args[3]); // 開啟串流 DataInputStream in = new DataInputStream(url.openStream()); RandomAccessFile out = new RandomAccessFile(args[1], "rw"); try { System.out.println("開始下載檔案: " + args[1]); byte data; // 複製檔案 while(true) { data = (byte)in.readByte(); out.writeByte(data); } } catch(EOFException e) { } System.out.println("檔案下載成功......"); in.close(); // 關閉串流 out.close(); } public static void setProxy(String pProxy, String pPort) { Properties systemSettings = System.getProperties(); systemSettings.put("proxySet", "true"); systemSettings.put("proxyHost", pProxy); systemSettings.put("proxyPort", pPort); System.setProperties(systemSettings); } } 執行結果一般而言,使用者只要下 java UrlDownload <url> <file> 就能將網址 <url> 上的網頁下載到檔案 <file> 中,但是由於筆者是在金門大學的校內進行的測試,因此必須透過 proxy 才能連接到校外,所以必須使用 java UrlDownload <url> <file> <proxy> <port> 等具有四個參數的語法,才能正確的進行下載。以下是筆者的執行結果。
|
page revision: 3, last edited: 08 Nov 2010 02:08
Post preview:
Close preview