package com.obcy.util;
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;
import java.io.IOException;
public class GetHTML {
public static String getHTML(String targetUrl){
//1.確定url
//String url = "https://picjumbo.com/free-stock-photos/love/";
String url = targetUrl;
//2.設置請求方式
HttpGet hg = new HttpGet(url);
hg.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36");
//3.創建發送對象
CloseableHttpClient httpClient = HttpClients.createDefault();
//4.發送請求,獲取響應對象
//CloseableHttpResponse裏面封裝了響應頭響應體響應行
CloseableHttpResponse response = null;
try {
response = httpClient.execute(hg);
} catch (IOException e) {
e.printStackTrace();
}
String html="";
//5.解析響應對象
if (response.getStatusLine().getStatusCode() == 200) {
//獲取響應體
HttpEntity entity = response.getEntity();
try {
//解碼響應體(根據網頁的編碼解碼)
html = EntityUtils.toString(entity,"gbk");
} catch (IOException e) {
e.printStackTrace();
}
}
try {
//關閉發送對象
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
return html;
}
}