aichiyu 发表于 2023-10-3 19:37

关于wps 阿里云盘自动每日签到分享学习经验

本帖最后由 aichiyu 于 2023-10-3 23:35 编辑

我是一个小白。
不过喜欢研究。
那么直接入主题,分享下我简单的理解。
https://www.52pojie.cn/thread-1811357-1-1.html

var tokenColumn = "A"; // 设置列号变量为 "A"
设置变量为A,方便使用单元格,例如A1 A2
for (let row = 2; row <= 20; row++) {
}
这个是做循环,从2开始,大于等于20结束,依此累计加1。
var refresh_token = Application.Range(tokenColumn + row).Text; // 获取指定单元格的值
这个就是赋值给refresh_token,他的值是上面循环A2 A3...到A20。
if (refresh_token != "") {
}
判断是否是空值
如果不等于空才允许
---------------------------
这里可以学习AirScript
https://airsheet.wps.cn/docs/start/quickstart.html
---------------------------
签到需要外部的请求API
看这里
https://airsheet.wps.cn/docs/api/advanced/HTTP.html
--------------------------
添加邮箱
https://airsheet.wps.cn/docs/api/advanced/SMTP.html
--------------------------
那么说个案例。

let tokenColumn = "A"; // 设置变量为A
let zhanghao = "B";
let smtp_mail = Application.Range("D1").Text; // SMTP服务器域名
let port_mail = parseInt(Application.Range("D2").Text); // port
let mail_mail = Application.Range("D3").Text; // 发送邮箱地址
let mima_mail = Application.Range("D4").Text; // 邮箱SMTP密码
let jieshou_mail = Application.Range("F1").Text; // 接受邮箱
let wangzhan = Application.Range("H1").Text; // 网站
for (let row = 2; row <= 10; row++) { // 做2-20的循环
    let refresh_token = Application.Range(tokenColumn + row).Text; // 设置变量refresh_token的文本为A加上循环的次数
    let tz = Application.Range(zhanghao + row).Text;
    if (refresh_token != "") { // 如果变量refresh_token位置为不为空时,发起POST请求
      let resp = HTTP.fetch(wangzhan +"/user/checkin", { //请求的网站,例如论坛签到的链接www.52pojie.cn/home.php?mod=task&do=apply&id=2 改为wangzhan +"/home.php?mod=task&do=apply&id=2", 在对应let wangzhan = Application.Range("H1").Text; // 写入网站地址
            method: "POST",
            timeout: 2000,
            headers: {
                "Accept": "application/json, text/javascript, */*; q=0.01",
                "X-Requested-With": "XMLHttpRequest",
                "sec-ch-ua-mobile": "?0",
                "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.69",
                "Origin": wangzhan,
                "Referer": wangzhan +"/user",
                "Accept-Encoding": "gzip, deflate, br",
                "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
                "Cookie": refresh_token
            },
            body: JSON.stringify({})
      });
      if (resp.status !== 200) {
            throw new Error("fetch err! status is " + resp.status);
      }      
      // 使用resp.text()来获取响应内容
      let text3 = resp.text();
      let text2; // 新增的变量
      // 检查响应文本并设置相应的消息
      if (text3.includes("dQ")) {                           //这里是因为签到返回的出现乱码我只能根据部分信息来判断,有大佬可以教下。这里的意思是如果包含就返回对应的值。
            text2 = "你已经签到过了。";
      } else if (text3.includes("RXJB")) {
            text2 = "签到成功。";
      } else {
            text2 = "未知响应内容:" + text3;
      }
    // 发送邮件
          mailer = SMTP.login({
            host: smtp_mail,
            port: port_mail,
            username: mail_mail,
            password: mima_mail,
            secure: true
          });
          mailer.send({
            from: "xxx签到<"+ mail_mail + ">",
            to: jieshou_mail, //如果是通知不相同的邮箱可以写to: tz,
            subject: "xxx签到通知 - " + tz,
            text: "账号"+ " " + tz + " " + text2,
          });
      // 打印消息
      console.log("账号"+ " " + tz + " " + text2);
    }
}

这个差不多用cookie签到最基本方法。
其实只要知道逻辑就很简单了。
签到需要发起请求,请求需要cookie,签到完成之后发送邮箱。
变量就像一个个箱子,你需要表明这些箱子的位置,有时候要提取他有时候要写入他。

bdzwater 发表于 2023-10-13 09:27

现在的签到已经不能通过这种简单方式来实现了,每天的任务特别复杂,尤其是最近的开启自动备份并持续至少一小时,像这种已经不是简单的抓个包就能完成了,其它的任务都有解,唯独本月新增的这个变态任务无解,需要手动登录APP账号执行,不知道有没有高手有思路,已尝试抓取从打开APP后签到完成的所有数据包,但就是没找到一个有效的完成该任务请求,真是无语,自动化已经越来越难了{:1_937:}

xuwupiaomiao 发表于 2023-10-3 20:15

复制粘贴使用吗?

netpeng 发表于 2023-10-3 20:53

思路很清晰,学习了。感谢分享。

hanjingyan 发表于 2023-10-3 22:14

{:1_896:}上次整那个啥自动签到脚本,没几天就把俺邮箱给封了,说我发垃圾邮件

kkoo 发表于 2023-10-3 22:15

感谢分享,整体思路逻辑通顺,向你学习

biostu 发表于 2023-10-3 23:41

之前有个大佬发的自动签到,用了一段时间,现在是失效了吗?{:1_907:}每天都没有自动签到成功。

wan456 发表于 2023-10-3 23:54

这个很简便的,鉴定

Pojawa 发表于 2023-10-4 00:51

我一直好奇你们用WPS的签到是签来干嘛的。。。。。。

w8686 发表于 2023-10-4 06:20

不会,小白

sai609 发表于 2023-10-4 07:58

经管之家,qq登录,每天自动签到,如何实现?
页: [1] 2 3 4
查看完整版本: 关于wps 阿里云盘自动每日签到分享学习经验