2019独角兽企业重金招聘Python工程师标准>>> hot3.png

nodejs 之模拟登录

最近看了 nodejs开发指南这本书,并参照着 nodejs.org官方网站中的 api,写了一个 模拟登录程序,其中有 北邮人论坛的,有 163邮箱的。其中前者 只需post就可以了,居然是明文传输,也不用https。后者选择了https,通过抓发分析,写了如下程序,另外,还学习了 通过Nodejs进行web开发,发现 nodejs真的很强大,是做服务器端开发的一款利器。

登录北邮人的程序:

Js代码    收藏代码
  1. //**** 是北邮人的用户名 -----是密码
  2. //登录 北邮人论坛
  3. var http=require("http");
  4. var querystring=require("querystring");
  5. var contents=querystring.stringify({
  6. CookieDate:0,
  7. id:"****",
  8. mode:0,
  9. passwd:"-----"
  10. });
  11. var options={
  12. host:"bbs.byr.cn",
  13. path:"/user/ajax_login.json",
  14. method:"post",
  15. headers:{
  16. "Content-Type":"application/x-www-form-urlencoded; charset=UTF-8",
  17. "Content-Length":contents.length,
  18. "Accept":"application/json, text/javascript, */*; q=0.01",
  19. "Accept-Language":"zh-cn",
  20. "Cache-Control":"no-cache",
  21. "Connection":"Keep-Alive",
  22. ·   "Host":"bbs.byr.cn",
  23. "Referer":"http://bbs.byr.cn/index",
  24. "User-Agent":"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; BOIE9;ZHCN)",
  25. "X-Requested-With":"XMLHttpRequest"
  26. }
  27. };
  28. var req=http.request(options,function(res){
  29. res.setEncoding("utf8");
  30. res.on("data",function(data){
  31. console.log(data);
  32. });
  33. });
  34. req.write(contents);
  35. req.end();

登录163邮箱的程序:

登录成功之后,通过抓到的cookie和 跳转的url,就可以了,下面打印出了cookie头部信息

Js代码    收藏代码
  1. //用户名 : *******
  2. //密码 :------
  3. var https=require("https");
  4. var querystring=require("querystring");
  5. var url="https://ssl.mail.163.com/entry/coremail/fcg/ntesdoor2?"+
  6. "df=webmail163&from=web&funcid=loginone&iframe=1&language=-1&net=c&passtype=1&product=mail163&race=-2_60_-2_hz&style=-1&uid=*******@163.com";
  7. var contents=querystring.stringify({
  8. savelogin:1,
  9. password:"------",
  10. url2:"http://mail.163.com/errorpage/err_163.htm",
  11. username:"*******"
  12. });
  13. var options={
  14. host:"ssl.mail.163.com",
  15. path:"/entry/coremail/fcg/ntesdoor2?df=webmail163&from=web&funcid=loginone&iframe=1&language=-1&net=c&passtype=1&product=mail163&race=-2_60_-2_hz&style=-1&uid=******@163.com",
  16. method:"post",
  17. headers:{
  18. "Content-Type":"application/x-www-form-urlencoded",
  19. "Content-Length":contents.length,
  20. "Accept":"text/html, application/xhtml+xml, */*",
  21. "Accept-Language":"zh-CN",
  22. "Cache-Control":"no-cache",
  23. "Connection":"Keep-Alive",
  24. "Host":"ssl.mail.163.com",
  25. "Referer":"http://mail.163.com/",
  26. "User-Agent":"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; BOIE9;ZHCN)"
  27. }
  28. };
  29. var req=https.request(options,function(res){
  30. res.setEncoding("utf8");
  31. var headers=res.headers;
  32. //console.log(headers);
  33. var cookies=headers["set-cookie"];
  34. cookies.forEach(function(cookie){
  35. console.log(cookie);
  36. });
  37. res.on("data",function(data){
  38. console.log(data);
  39. });
  40. });
  41. req.write(contents);
  42. req.end();

转载于:https://my.oschina.net/u/867090/blog/142477

nodejs登陆模拟相关推荐

  1. java 模拟天眼查登陆,模拟天眼查登陆问题

    相信做爬虫的很多小伙伴一定会遇到很多滑块验证码的问题.在爬取天眼查的时候是要求需要登陆的.天眼查的滑块验证码可不可以解决呢?答案是一定可以的.今天我们就来聊聊类似天眼查这种滑块验证码的解决方案. 解决 ...

  2. 超详细的Python实现百度云盘模拟登陆(模拟登陆进阶) 1

    这是第二篇从简书搬运过来的文章(大家别误会,是我原创的).因为前一篇文章,我看反响还挺好的,所以把这篇也搬运过来了,其实目的还是为宣传自己的分布式微博爬虫(该项目的内容和工作量都很饱满啊,大家如果觉得 ...

  3. Jmeter_前端RSA加密下的登陆模拟_引用js文件实现(转)

    在一次项目实战中,前端登录使用了RSA加密,使用LoadRunner压测的第一步,就是模拟用户登录,可惜loadRunner11并不能录制前端的加密过程,并且安装的LR是基于C语言版,网络上关于RSA ...

  4. Java——异常登陆模拟

    public class UserLogin {private String userName="admin";private String password="1234 ...

  5. 网络爬虫中的模拟登陆获取数据(实例教学1)

    目录 模拟登陆的原因 如何模拟登陆 实战(demo) 模拟登陆的原因 很多网站,我们是无法直接获得服务器返回的数据,需要输入用户名及密码才能看到数据.如我们登陆人人网时,网站网址http://www. ...

  6. 爬虫实战3:模拟登陆知乎并爬取任意帖子数据

    ​      刚学爬虫时,看到一篇文章硬核破解知乎登陆,心潮澎湃,真男人!符合我的胃口!哼哧哼哧的立刻安排!   (半个小时过后)   似乎我是弱智?很多看不懂?(百度乱搜中-)恩还有种简单的?sel ...

  7. 模拟登陆 Selenium

    模拟登陆 使用爬虫实现登录操作.为何需要做模拟登陆? 有些平台只有登录之后才可以访问其内部其他的子页面.如何实现模拟登陆? 模拟点击登录按钮发起的请求即可 阻力:验证码的识别验证码识别 使用线上的打码 ...

  8. nodejs这个过程POST求

    下面是一个web登陆模拟过程.当我们问一个链接,你得到一个表格,然后填写相应的表格值,然后提交登陆. var http = require('http'); var querystring = req ...

  9. 使用 AngularJS NodeJS 实现基于token 的认证应用(转)

    认证是任何 web 应用中不可或缺的一部分.在这个教程中,我们会讨论基于 token 的认证系统以及它和传统的登录系统的不同.这篇教程的末尾,你会看到一个使用 AngularJS 和 NodeJS 构 ...

最新文章

  1. ubuntu su进入root权限
  2. springcloud 实战 feign使用中遇到的相关问题
  3. DELL R720 服务器 RAID阵列卡配置介绍
  4. 深入理解golang的defer
  5. C#设计模式之十五迭代器模式(Iterator Pattern)【行为型】
  6. 标准控件(二)——Calendar
  7. CVPR 2019 | 西北工业大学开源拥挤人群数据集生成工具,大幅提升算法精度
  8. MIT大牛Gilbert Strang新书:《线性代数与从数据中学习》抢先看
  9. 扇贝有道180920每日一句
  10. 算法分析之二叉树遍历
  11. 基于matlab 自适应滤波,基于Matlab的自适应滤波器的设计及仿真
  12. VMware虚拟机Mac OS X 扩展内存方法
  13. 还在手写记单词?使用Python开发练习英语单词,助你逆袭单词记忆王!
  14. 《重构》一书总结(二)
  15. 一文搭建Vuepress博客/文档系统:搭建,导出,SEO,自动编译和部署,域名,HTTPS,备案等
  16. R7-17 程序填空题2
  17. ​食品领域排名靠前的品牌咨询公司塔望/华与华等服务优势对比​
  18. VC++网络安全编程范例(1)--数字证书有效期验证
  19. Android网易新闻评论盖楼效果的实现
  20. 2021年安全员-A证(广西省-2021版)考试试卷及安全员-A证(广西省-2021版)作业考试题库

热门文章

  1. api php usdt 以太坊_以太坊智能地址PHP开发包【零GAS归集ERC20】
  2. cpu漏洞linux修复,【图片】为什么linux mint上cpu漏洞直到现在也没完全修复?_linux吧_百度贴吧...
  3. xms和xmx为什么要相同_股民为什么要做股票配资?
  4. mysql 聚合函数内比较运算符_关于常用 MYSQL 聚合函数,其他函数 ,类型转换,运算符 总结...
  5. qstring 属于元数据类型吗_元数据,描述“数据”的“数据”
  6. java的spinner_java中的spinner | 学步园
  7. 宿舍管理系统设计分析图
  8. inline-block清除空隙2
  9. 2017年游戏营收报告公布,谁是去年最大的赢家?
  10. crc32库 qt_Qt 打包32位库(包括WebEngineView)