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());

    }
}