對Java的HttpURLConnection的封裝類
用于模擬瀏覽器訪問網頁,抓取站點源文件。
HttpClient(現在是HttpComponents)把問題搞復雜了。其實Java內置的HttpURLConnection很好的。HttpComponents不但復雜,而且有小問題。Java API沒有內置HttpComponents是應該是有考慮的,HttpURLConnection已經可以了。
* 基于HttpURLConnection
* version 1.0.0_00,支持POST數據,支持SSL,支持上傳文件。
* GET、POST方式無需設置自動判斷。
* 代碼經過優化和修理。
【API簡介】
該class沒有字段。
該class的方法:
Http(String urlString, String charset); execute(); setHeader(String name, String value); setTimeOut(int ms); addPostData(String name, String value); addUploadFile(String name, String path, String rename); getInputStream(); getHeader(String key); getHeaders(); javadoc文檔 【示例】 舉一個幾乎用到所有功能的例子
附注: 為什么沒有直接返回頁面文本而是通過getInputStream()方法返回一個輸入流呢? 原因一,有些網站會不定次地發送壓縮格式的body,例如百度。本類不予解壓縮,因為本類只負責抓取而不負責對文檔進行解析,壓縮類型(gzip等)不確定,返回的文檔也不一定是什么文檔。可根據getHeader("Content-Encoding")的值判斷壓縮情況。 原因二,java中都是對流進行操作,這是個標準的、默認的接口。 |