通过httpclient接口自动化遇到关于sso登陆

本文介绍了在自动化测试中如何处理SSO(Single Sign-On)登录问题。由于服务器的CSRF控制,需要在每次请求中包含一个动态生成的字符串。解决方案是通过获取并保存该字符串,然后在后续请求中使用相同的Cookie保持会话。文章详细展示了使用HttpClients和CookieStore进行登录及处理重定向的代码实现。
摘要由CSDN通过智能技术生成

本文主要记录自己这两天遇到的问题以及解决方法。

1、登陆

由于服务器做了CSRF控制,登陆请求除了用户名和密码外,还需要一个随机的字符串。这个字符串是有页面生成的,每次加载都会随机生成,但是如果先获取到换个页面信息,解析出再登陆的话这个值已经变了。怎么解决呢?

思路:1、获取这个随机值,例子好的lt

            2、当做统一请求这样就不会刷新了(通过cookie保持会话)

具体实现还是先上下代码:我晕 这博客上传代码还不太会先直接粘贴吧。毕竟马上就要下班中秋了。

如下加粗部分,首先设置全局cookie,然后后面都使用这个cookie

public static String httpSSOLogin(String urlParam,String username,String passwd,String urlParam2) {
        String cookie=null;
        CloseableHttpClient httpClient = null;
        HttpGet httpGet = new HttpGet(urlParam);
        CookieStore cookieStore = new BasicCookieStore();
        httpClient = HttpClients.custom().setDefaultCookieStore(cookieStore).build();

        try {
            CloseableHttpResponse response = httpClient.execute(httpGet);
          

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值