package com.example.httpcilent;
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 org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
//@SpringBootTest
class HttpCilentApplicationTests {
@Test
//httpClient 演示get请求
public void testGet() throws Exception {
//1. 创建httpClient对象
CloseableHttpClient httpClient = HttpClients.createDefault();
//2. 创建httpGet请求,并进行相关的配置
HttpGet httpGet = new HttpGet("https://weibo.com/1296241304/M3aWu1vzB#comment");
httpGet.setHeader("Pragma","no-cache");
//httpGet.setHeader("cookie","PC_TOKEN=c166cab5d8; SUB=_2AkMUUCk6f8NxqwJRmPoUyGvrbYp0zwrEieKiDNjhJRMxHRl-yT9jqnFStRB6P9AH1b8CIdCeFHIX3roK1OnEPl8WZ1oL; SUBP=0033WrSXqPxfM72-Ws9jqgMF55529P9D9WFA8f5vBWMk38sKfm70bope; XSRF-TOKEN=ZWFmRMtdEw7lUvelhNQpounh; WBPSESS=Jx_XaCleItbWmjWmltuZpOAmWGJYwbWl18rYirms7EzbN-JJb57XfMktj47b8xPFvU92tByFTtqM88HUSLitHaT7PX4bAVrAbmroAQCdA1wmkrWF5aB-Ka3QWNzLzpFyLOEHIOgLNPxY_e5UlbFQNGHQHVSpJZf68W0v44VVqdQ=");
//3. 发起请求
CloseableHttpResponse response = httpClient.execute(httpGet);
//4.判断响应状态码,并获取响应数据
if(response.getStatusLine().getStatusCode()==200){
String html = EntityUtils.toString(response.getEntity(),"GBK");
Document parse = Jsoup.parse(html);
System.out.println(parse.outerHtml());
}
//5. 关闭资源
httpClient.close();
response.close();
}
/**
* 解析文档
* @throws IOException
*/
@Test
public void testJsoup() throws IOException {
// 解析url地址
URL url = new URL("https://weibo.com/1296241304/M3aWu1vzB#comment");
Document document = Jsoup.parse(url, 1000);
System.out.println(document.outerHtml());
}
}