写了一个可以自动获取登录结果并且自动跳转的脚本解放双手

目录

前言

脚本源码

简单分析


小伙伴们大家好,懒惰使人类进步,用代码解放双手的劳动

前言

对于一个系统正式上线前,会分为好几个环境(开发人员专用,测试人员专用,产品专用等),比如我负责的这个项目,就是分了三个环境,每天来到公司第一件事就是登录页面,进去后打开开发者页面,获取到一个登录成功返回的token,然后拿着这个token拼到开发环境的链接后面才能进入开发环境,乐此不疲(bushi)

感觉也还好不怎么麻烦,但是日复一日略显枯燥,还是交给代码吧。。。来看下效果。脚本很简单,新建一个类,执行main方法即可,点击输出的链接即可登录

脚本源码

java 复制代码
import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

public class DevLink {
    public static void main(String[] args) throws Exception {

        String path = "C:\\Users\\xxx\\Desktop\\链接.txt";
        List<String> http = new ArrayList();
        try {
            Stream<String> lines = Files.lines(Paths.get(path));
            http = lines.filter(e -> e.contains("http"))
                    .collect(Collectors.toList());
        } catch (IOException e) {
            throw new Exception("读取文件出错" + e.getMessage());
        }

        System.out.println("-----------------------------文件读取成功------------------------------------------");

        String url = "https://cloud-test.clinflash.com/api/users/login";
        URL url1 = new URL(url);
        HttpURLConnection urlConnection = (HttpURLConnection) url1.openConnection();
        urlConnection.setRequestMethod("POST");
        urlConnection.setRequestProperty("Content-Type", "application/json");
        String requestBody = "{\n" +
                "  \"username\": \"xxx@xxx.com\",\n" +
                "  \"password\": \"xxx.xxx\"\n" +
                "}";
        urlConnection.setDoOutput(true);
        urlConnection.getOutputStream().write(requestBody.getBytes("utf-8"));

        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
        String inputLine;
        //获取请求结果
        StringBuffer stringBuffer = new StringBuffer();
        while ((inputLine = bufferedReader.readLine()) != null) {
            stringBuffer.append(inputLine);
        }
        String needUrl = http.get(3);
        System.out.println(s);
        bufferedReader.close();

        System.out.println("response code : " + urlConnection.getResponseCode());
        System.out.println("response body : " + stringBuffer.toString());
        String result = stringBuffer.toString();
        JsonObject jsonObject = new Gson().fromJson(result, JsonObject.class);
        JsonElement jsonElement = jsonObject.getAsJsonObject("data").get("token");
        String token = "";
        if (jsonElement != null) {
            token = jsonElement.getAsString();
        }
        String usefulConn = needUrl + token;
        System.out.println(usefulConn);
    }
}

简单分析

  • 首先读取存放链接的文件,逐行读取,筛选除以自定义规则开头的链接地址
  • 配置需要登录的链接,配置相关参数,请求头等
  • 接收相应参数以及响应结果,需要的token就在响应结果中
  • 将响应结果转换为字符串,然后调整为json格式
  • 获取json格式中的某个字段的值,然后拼到链接后面即可

右键运行,查看控制台,点击输出结果,成功验证token并跳转到页面

好了 文章到这里就结束了


相关推荐
mldong3 小时前
给若依加审批流,不用 Flowable
java·spring boot·架构
Wang's Blog5 小时前
Java框架快速入门: Spring Security+OAuth2之数据库和实体类的RBAC改造
java·数据库·spring
讳疾忌医丶5 小时前
深度拆解 RocksDB 内核:基于 C++17 的 FIFO 调度状态机与温度阶梯自愈设计
java·c++·算法·架构
郑州光合科技余经理5 小时前
国际版外卖系统:税率字段怎么和订单主流程解耦
android·java·开发语言·前端·后端·php·ai编程
毅炼5 小时前
Rover-Suite 开源发布:轻量服务注册中心与网关一体化方案
java·后端·系统架构·gateway
梦想平凡6 小时前
百游棋牌源代码开发搭建教程(十):隔离部署、备份恢复与双端验收
java·前端·javascript·数据库·源代码管理
sunshine22 girl7 小时前
Idea中如何搜索
java·ide·intellij-idea
猫吻鱼7 小时前
【AI 01】【Spring AI 基础使用】
java·spring·spring ai
梨涡泥窝7 小时前
基于SSM的校园二手交易平台的设计与实现
java·tomcat
许彰午8 小时前
44-useRowSet镜像实现
java·低代码·架构