找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 113|回复: 10

我也来发个自动签到脚本,nodejs版

[复制链接]

2

主题

2

回帖

16

积分

新手上路

积分
16
发表于 2018-5-31 21:06:07 | 显示全部楼层 |阅读模式
package.json 文件

[ol]
  • {
  •   "dependencies": {
  •     "cheerio": "^1.0.0-rc.2",
  •     "node-schedule": "^1.3.0",
  •     "superagent": "^3.8.3"
  •   }
  • }[/ol]复制代码

    使用 npm i 安装依赖

    app.js,替换成你的用户名密码,运行 node app ,也可以装个 forever 放在后台运行
    [ol]
  • const superagent = require('superagent');
  • const schedule   = require('node-schedule');
  • const cheerio    = require('cheerio')
  • const login = user=>
  •     new Promise((resolve,reject)=>{
  •         superagent
  •         .post('http://www.hostloc.com/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1')
  •                 .type('form')
  •                 .send(user)
  •                 .set('Host','www.hostloc.com')
  •             .set('Referer','http://www.hostloc.com/forum.php')
  •         .set('User-Agent','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3391.0 Safari/537.36')
  •         .end((err, result)=> {
  •                 if(err){
  •                         reject(err)
  •                         return;
  •                 }
  •                 if(result.text.includes('登录失败')){
  •                         reject(err)
  •                 }else{
  •                         if(result.header['set-cookie']){
  •                                 let cookie = result.header['set-cookie'].map(item=>{
  •                                         return item.split(';')[0] + '; '
  •                                 }).reduce((pre,item)=>{
  •                                         return pre + item
  •                                 })
  •                                 resolve( cookie )
  •                             }
  •                 }
  •         })
  •     })
  • const visited = (Cookies, uid)=>
  •     new Promise((resolve,reject)=>{
  •         superagent
  •         .get(`http://www.hostloc.com/space-uid-${uid}.html`)
  •             .set('Host','www.hostloc.com')
  •         .set('User-Agent','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3391.0 Safari/537.36')
  •             .set('Cookie',Cookies)
  •         .end((err, result)=> {
  •                 if(err){
  •                         reject(err)
  •                         return;
  •                     }
  •                     resolve(result.text)
  •         })
  •     })
  • const getCredit = Cookies=>
  •     new Promise(function(resolve,reject){
  •         superagent
  •         .get('http://www.hostloc.com/forum.php')
  •             .set('Host','www.hostloc.com')
  •         .set('User-Agent','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3391.0 Safari/537.36')
  •             .set('Cookie',Cookies)
  •         .end((err, result)=> {
  •                 if(err){
  •                         reject(err)
  •                         return;
  •                     }
  •                     let $ = cheerio.load(result.text)
  •             resolve( $('#extcreditmenu').html().split(': ')[1] )
  •         })
  •     })
  • const randUid = ()=> Math.floor(Math.random()*(29796-20000)+20000);
  • (async () => {
  •         const user = {
  •                 username:'username',
  •                 password:'password'
  •         }
  •         
  •         async function start(user){
  •                 const cookie = await login(user)
  •                 console.log(`积分:${await getCredit(cookie)}`)
  •                 let uid = randUid()
  •                 let max = uid + 10
  •                 while(uid复制代码
  • 回复

    使用道具 举报

    123

    主题

    1286

    回帖

    3053

    积分

    论坛元老

    积分
    3053
    发表于 2018-5-31 21:06:55 | 显示全部楼层
    牛逼
    回复

    使用道具 举报

    32

    主题

    387

    回帖

    884

    积分

    高级会员

    积分
    884
    发表于 2018-5-31 21:08:15 | 显示全部楼层
    搬个小凳学习一下

    回复

    使用道具 举报

    4

    主题

    547

    回帖

    1134

    积分

    金牌会员

    积分
    1134
    发表于 2018-5-31 21:09:33 | 显示全部楼层
    大佬666,支持一个~
    回复

    使用道具 举报

    1

    主题

    30

    回帖

    71

    积分

    注册会员

    积分
    71
    发表于 2018-5-31 21:20:38 | 显示全部楼层
    要不用nexe 打包吧,账号密码从文件读取,

    连依赖安装都省了

    回复

    使用道具 举报

    38

    主题

    1369

    回帖

    2890

    积分

    金牌会员

    积分
    2890
    发表于 2018-5-31 21:38:29 | 显示全部楼层
    支持支持!!
    回复

    使用道具 举报

    12

    主题

    290

    回帖

    664

    积分

    高级会员

    积分
    664
    发表于 2018-5-31 21:41:15 | 显示全部楼层


    哪位大佬来个go语言的二进制文件吧。
    回复

    使用道具 举报

    342

    主题

    2835

    回帖

    6788

    积分

    论坛元老

    积分
    6788
    发表于 2018-5-31 21:42:28 | 显示全部楼层
    额, 世界上最好的语言为什么没人写.
    回复

    使用道具 举报

    217

    主题

    1834

    回帖

    4391

    积分

    论坛元老

    积分
    4391
    发表于 2018-5-31 21:43:33 | 显示全部楼层
    Mark 一下。。话说有没有java大佬写个java的

    还差C# scala ruby go语言版本的
    回复

    使用道具 举报

    439

    主题

    3332

    回帖

    8051

    积分

    论坛元老

    积分
    8051
    发表于 2018-5-31 21:44:25 | 显示全部楼层
    快点吧,我想要docker版,饥渴啊
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|Discuz! X

    GMT+8, 2025-8-14 03:38 , Processed in 0.023197 second(s), 4 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

    快速回复 返回顶部 返回列表