前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用FastHttpClient自动携带Cookie进行请求

使用FastHttpClient自动携带Cookie进行请求

作者头像
你的明明呐丶
发布2022-06-27 12:42:30
6100
发布2022-06-27 12:42:30
举报
文章被收录于专栏:用户4184852的专栏
代码语言:javascript
复制
package com.ruoyi.system.ultis;

import okhttp3.Cookie;
import okhttp3.CookieJar;
import okhttp3.HttpUrl;

import java.util.ArrayList;
import java.util.List;

/**
 * @author ZouYangMing
 */
public class LocalCookieJar implements CookieJar {
    List<Cookie> cookies;

    @Override
    public List<Cookie> loadForRequest(HttpUrl arg0) {
        if (cookies != null) {
            return cookies;
        }
        return new ArrayList<Cookie>();
    }

    @Override
    public void saveFromResponse(HttpUrl arg0, List<Cookie> cookies) {
        this.cookies = cookies;
    }

    public List<Cookie> getCookies(){
        return this.cookies;
    }
}

下面是带cookie请求登录了才能访问的页面:

代码语言:javascript
复制
public static void main(String[] args) throws Exception {
        LocalCookieJar cookie = new LocalCookieJar();
        HttpClient client = FastHttpClient.newBuilder()
                .followRedirects(false)
                .followSslRedirects(false)
                .cookieJar(cookie)
                .build();

        String url="https://passport2.chaoxing.com/fanyalogin?fid=-1&uname=XXXX&password=XXXX=&refer=https%25253A%25252F%25252Fi.chaoxing.com&t=true&forbidotherlogin=0&validate=";
        client.post().
                url(url).
                build().
                execute();

        System.out.println(cookie.getCookies());

        System.out.println(client.get().url("https://mooc1-2.chaoxing.com/visit/courses/study?isAjax=true").build().execute().string());
    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档