设为首页收藏本站

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย Français

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

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

[复制链接]

2

主题

3

回帖

20

积分

新手上路

积分
20
发表于 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复制代码
  • 回复

    使用道具 举报

    141

    主题

    1933

    回帖

    4505

    积分

    论坛元老

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

    使用道具 举报

    32

    主题

    387

    回帖

    884

    积分

    高级会员

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

    回复

    使用道具 举报

    4

    主题

    574

    回帖

    1200

    积分

    金牌会员

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

    使用道具 举报

    1

    主题

    30

    回帖

    71

    积分

    注册会员

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

    连依赖安装都省了

    回复

    使用道具 举报

    41

    主题

    1407

    回帖

    2993

    积分

    金牌会员

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

    使用道具 举报

    16

    主题

    375

    回帖

    880

    积分

    高级会员

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


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

    使用道具 举报

    399

    主题

    3177

    回帖

    7715

    积分

    论坛元老

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

    使用道具 举报

    218

    主题

    1837

    回帖

    4408

    积分

    论坛元老

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

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

    使用道具 举报

    554

    主题

    4325

    回帖

    1万

    积分

    论坛元老

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2026-4-1 09:51 , Processed in 0.018298 second(s), 4 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

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