爬蟲學習之HttpClient練習

HttpClient

簡單使用一下

首先我們創建一個運行類

爬蟲學習之HttpClient練習

創建HttpClient對象

爬蟲學習之HttpClient練習

創建HttpGet對象,設置Url訪問地址

爬蟲學習之HttpClient練習

使用HttpClient發起請求,獲取Response

爬蟲學習之HttpClient練習

解析響應

爬蟲學習之HttpClient練習

注意釋放資源

關閉response

爬蟲學習之HttpClient練習

關閉httpClient

爬蟲學習之HttpClient練習

運行下

爬蟲學習之HttpClient練習

我們可以獲取請求的信息

爬蟲學習之HttpClient練習

如果搜索信息

爬蟲學習之HttpClient練習

就會發現URL有變化,此時帶了參數

爬蟲學習之HttpClient練習

我們修改代碼,首先創建URIBuilder

爬蟲學習之HttpClient練習

設置參數

爬蟲學習之HttpClient練習

把URI提供給HttpGet

爬蟲學習之HttpClient練習

運行結果

爬蟲學習之HttpClient練習

我們繼續改為Post請求

爬蟲學習之HttpClient練習

查看結果

爬蟲學習之HttpClient練習

Post請求如果帶參數和Get相比不一樣的地方是Url地址中不帶參數,是在表單中進行提交的

首先聲明List集合,封裝表單中的參數

爬蟲學習之HttpClient練習

創建表單的Entity對象

爬蟲學習之HttpClient練習

設置表單的Entity對象到參數中

爬蟲學習之HttpClient練習

查看結果

爬蟲學習之HttpClient練習

連接池

如果每次請求都要創建HttpClient,會有頻繁的創建和銷燬的問題,可以使用連接池來解決問題

用代碼測試下

創建連接池管理器

爬蟲學習之HttpClient練習

創建doGet方法

爬蟲學習之HttpClient練習

注意不關閉HttpClient

爬蟲學習之HttpClient練習

使用連接器管理器發起請求

爬蟲學習之HttpClient練習

設置連接數

爬蟲學習之HttpClient練習

設置每個主機的最大連接數,和上面最大連接數相比這個是設置訪問主機限制

爬蟲學習之HttpClient練習

有時候因為網絡,或者目標服務器原因,請求需要很長的時間才能完成,這就需要我們自定義相關時間。

配置請求信息

爬蟲學習之HttpClient練習

設置配置信息

爬蟲學習之HttpClient練習


分享到:


相關文章: