栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

restTemplate模拟浏览器登录携带cookie请求接口

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

restTemplate模拟浏览器登录携带cookie请求接口

通过restTemplate模拟浏览器登录并携带cookie请求接口 查看网页cookie

通过网页调试,可以发现cookie在登录接口返回的response header里面
知道cookie的返回方式和位置之后,我们就可以通过代码模拟浏览器登录并获取cookie 通过restTemplate登录并获取cookie

    public void testLogin() {
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
        // 设置请求boby
        MultiValueMap body = new linkedMultiValueMap<>();
        body.add("username", "用户名");
        body.add("password", "密码");
        HttpEntity> entity = new HttpEntity<>(body, headers);

        String url = "登录的url";
        ResponseEntity resp = restTemplate.postForEntity(url, entity, String.class);
        List cookie = resp.getHeaders().get("Set-cookie");
        log.info("模拟浏览器登录,获取cookie为:{}", cookie);
    }

执行代码得到结果为:

2022/01/12 09:45:12.375 INFO  c.k.k.s.s.m.HaoParkSyncServiceTest - 模拟浏览器登录,获取cookie为:[s=cFdLJisdNxIvVjgxFnFHGk9BFnEWNzt1Gzk8BwBfeGpBeFl7CmB0FhV0bH0Ofj9kRFkXSV5aeBF4Xg;Path=/;Expires=Fri, 21-Nov-2031 01:40:37 GMT]
通过上一步获取的cookie,模拟浏览器调用其他接口
    public void test() {
        HttpHeaders headers = new HttpHeaders();
        List cookies = new ArrayList<>();
        // 登录获取cookie 这里是直接给cookie,可使用下方的login方法拿到cookie给入
        // 把上一步获取的cookie,在请求header里面传入
cookies.add("s=cFdLJisdNxIvVjgxFnFHGk9BFnEWNzt1Gzk8BwBfeGpBeFl7CmB0FhV0bH0Ofj9kRFkXSV5aeBF4Xg;Path=/;Expires=Fri, 21-Nov-2031 01:12:48 GMT");
        // 将cookie存入头部
        headers.put(HttpHeaders.cookie, cookies);
        headers.setContentType(MediaType.APPLICATION_JSON);

        Map paramMap=new HashMap<>();
        HttpEntity> entity = new HttpEntity<>(paramMap, headers);
        String url = "接口路径";
        ResponseEntity response = restTemplate.postForEntity(url, entity, String.class);
        log.info("模拟浏览器请求接口,返回数据:{}", response.getBody());
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/704045.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号