zoukankan      html  css  js  c++  java
  • node模拟登陆

    玩游戏不用每天去登录签到啦。
     
    var express = require('express');
    var app = express();
    var superagent = require('superagent');
    var login_url = 'http://xxx/login.do';//登录接口
    var get_url = 'http://xxx/index.jsp';//登录后想要操作的页面或接口
    var info = {}//登录接口需要的参数
     
    let servers = (response)=>{//学习promise,强行使用一波
      return new Promise((resolve,reject)=>{
        resolve(response);
      })
    }
     
    let login = ()=>{//先登陆
    return new Promise((resolve,reject)=>{
    superagent
    .post(login_url)
    .set('Content-Type','application/x-www-form-urlencoded')
    .send(info)
    .end((err,response)=>{
    err && reject(err);
    //删除cookie中JSESSIONID发现要重新登录,所以这是记录登录信息的
    var cookie = JSON.stringify(response.header['set-cookie']).trim().split(';')[0].substring(2);//处理成该格式JSESSIONID=aaaaae9Ck_5OA7hgRoxxw
    console.log(cookie)
    resolve(cookie);
    console.log(response.text);//接口返回信息,是否登录成功!
    })
    })
    }
     
    let getData = (cookie)=>{//抓页面
    return new Promise((resolve,reject)=>{
    superagent.post(get_url)
    .set("Cookie", cookie)
    .end((err,response)=>{
    err && reject(err);
    resolve(response);//页面内容
    })
    })
    }
     
    login()
    .then((cookie)=>getData(cookie))
    .then((response)=>servers(response))
    .then((resonse)=>{
    app.get('/', (req, res, next) => {//这里是为了方便本地页面显示http://localhost:3000/
    console.log('http://localhost:3000/')
    res.setHeader('Content-Type','text/html');
    console.log(resonse.text)
    res.send(resonse.text);//页面内容
    }).listen(3000)
    },(err)=>{
    console.log(err)
    })
  • 相关阅读:
    AVR单片机教程——PWM调光
    AVR单片机教程——蜂鸣器
    AVR单片机教程——串口接收
    做个别出心裁的圣诞礼物
    电源选择电路的原理
    AVR单片机教程——串口发送
    C++类成员默认初始值
    AVR单片机教程——旋转编码器
    10.Django-form表单
    09.Django-数据库优化
  • 原文地址:https://www.cnblogs.com/92xcd/p/9647587.html
Copyright © 2011-2022 走看看