HttpClient獲取響應狀態碼Status
阿新 • • 發佈:2019-02-15
我們HttpClient向伺服器請求時,正常情況 執行成功 返回200狀態碼,不一定每次都會請求成功,比如這個請求地址不存在 返回404
伺服器內部報錯 返回500,有些伺服器帶有防採集,假如你頻繁的採集資料,則返回403 拒絕你請求。
當然 我們是有辦法的 下一章會發布用代理IP,解決此類問題
demo:
package com.gcx.demo.HelloWorld2; import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; public class App2 { public static void main(String[] args) throws Exception{ CloseableHttpClient httpClient=HttpClients.createDefault(); // 建立httpClient例項 HttpGet httpGet=new HttpGet("https://www.baidu.com"); // 建立httpget例項 httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0"); // 設定請求頭訊息User-Agent CloseableHttpResponse response=httpClient.execute(httpGet); // 執行http get請求 System.out.println("Status:"+response.getStatusLine().getStatusCode()); HttpEntity entity=response.getEntity(); // 獲取返回實體 System.out.println("Content-Type:"+entity.getContentType().getValue()); //System.out.println("網頁內容:"+EntityUtils.toString(entity, "utf-8")); // 獲取網頁內容 response.close(); // response關閉 httpClient.close(); // httpClient關閉 } }
輸出結果:
Status:200
Content-Type:text/html; charset=utf-8
如果訪問不存在的頁面,就會返回404的狀態碼