1. 程式人生 > >HttpClient獲取響應狀態碼Status

HttpClient獲取響應狀態碼Status

我們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的狀態碼