每日自动签到夸克网盘,领取永久免费空间容量
会飞的兔子来啦,想要夸克网盘自动签到的拿走! 收藏+评分+有用三连

之前分享阿里云盘领取容量的回复我都一 一查看,很多人讲阿里云盘限时限量,我想说分享思路讲案例,学习研究目的而已;有路子的推荐~
目前活动中普通用户领取20M,SVIP100MB都是永久有效,具体能用多久未知,cookie失效多久未知,以后失效我在持续更新。

有几处坑的地方,手机端与pc端区分域名,cookie增加only,请求参数空也不能丢。

大体流程:

  • 每日定时调度  (有时间在推荐免费白嫖调度平台)
  • 获取cookie 登录
  • 获取已签到状态
  • 执行签到获取容量
  • 异常通知(自行实现)
  • 其他活动暂没时间看,有需要在讲。
  • 处理返回参数,可以不用加。
private static JSONObject getDataResponse(String response) {
        JSONObject responseStatus = JSONUtil.parseObj(response);
        if (ObjectUtil.notEqual(responseStatus.getInt("status"), 200)) {
            String message = "夸克平台接口异常," + responseStatus.getStr("message");
            logger.error(message);
            return responseStatus;
        }
        return responseStatus.getJSONObject("data");
    }
  • 获取cookie 登录

      登录PC端  夸克网盘 (quark.cn)   登录后F12,控制台,执行下面脚本会输出很长字符串。  网站带有防跨站攻击的,可以使用这个脚本解决。

cookieStore.getAll().then(o=>{let e="";o.forEach(o=>{const{name:l,value:n,domain:t}=o;t&&(e+=`${l}=${n};`)}),console.log(e)});
//需要设置全局cookie        Map<String, String> header = new HashMap<>();
       header.put("cookie", ”上一步的字符串“);
       header.put("Content-Type", "application/json");
 
       String userUrl = "https://pan.quark.cn/account/info";
       JSONObject userInfo = JSONUtil.parseObj(HttpUtil.createGet(userUrl).addHeaders(header).execute().body()).getJSONObject("data");
       if (ObjectUtil.isEmpty(userInfo.getStr("nickname"))) {
           logger.info("登录失败,cookie错误。");
           return;
       }
       logger.info("hello,{}! 登录成功。", userInfo.getStr("nickname"));

输出hello就登录成功了,如果没有说明cookie不对。



    2.获取已签到状态, 此处可以不添加跳过,这里的进度计算可能不准确。

//查看当前签到状态,如果签到过不再执行。
        String stateUrl = "https://drive-m.quark.cn/1/clouddrive/capacity/growth/info?pr=ucpro&fr=pc&uc_param_str=";
        JSONObject sign = getDataResponse(HttpUtil.createGet(stateUrl).addHeaders(header).execute().body()).getJSONObject("cap_sign");
        if (sign.getBool("sign_daily")) {
            int number = sign.getInt("sign_daily_reward") / 1024/1024;
            BigDecimal progress = new BigDecimal(sign.getStr("sign_progress")).divide(new BigDecimal(sign.getStr("sign_target")), BigDecimal.ROUND_CEILING);
            logger.info("今日已签到获取{}MB,进度{}%", number, progress);
            return;
        }

  3.执行签到获取容量

//执行签到
        String signUrl = "https://drive-m.quark.cn/1/clouddrive/capacity/growth/sign?pr=ucpro&fr=pc&uc_param_str=";
        Map<String, Object> params = new HashMap<>();
        params.put("sign_cyclic", true);
        JSONObject dataResponse = getDataResponse(HttpUtil.createPost(signUrl).addHeaders(header).body(JSONUtil.toJsonStr(params)).execute().body());
        int mb = dataResponse.getInt("sign_daily_reward") / 2048;
        logger.info("签到成功,获取到{}MB!", mb);

扫码免费获取资源: