nodejs和phantomjs或任何其他无头浏览器之间的实时通信

我正在开发一个nodejs中的应用程序,它将多个Intranet站点合并为一个。到目前为止,我使用requestjs来请求获取我需要的东西。 我有点卡在如何做nodejs(与快递)和具有validation码login的特定网站之间的实时通信。 我正在考虑将validation码转发给我的用户界面的无头浏览器,但是我不知道如何开始。 有没有好的和最新的教程?

实时沟通是营销人员的热门话题,这也是你感到失落的原因。

如果我find了你,你有一个node.js服务器,它聚集了几个站点在同一时间加扰。

这是纸面上的解决scheme(这将需要一些努力来编码这一切 – 你的任务):

(让网站A有captcha)

  1. 客户端连接到node.js服务器
  2. Node.js服务器从命令行运行phantomjs脚本( subprocess手册将有所帮助)
  3. 脚本争夺。 网站一个加扰器接收validation码和cookies/forms与该validation码的一些独特的价值观。 脚本需要在一些临时文本文件中保存cookie和表单的状态。 将validation码图片保存到临时文件中。 出口
  4. Node.js检查是否在给定的文件夹中创build了新的临时validation码图像。 如果他们是 – 显示给用户
  5. 用户inputvalidation码,将解决scheme发送回节点
  6. 如果临时图像名为Captcha_Site_A.png则将解决scheme保存到Captcha_Site_A.txt
  7. 运行网站加扰器第2部分。
  8. 第2部分search创build的解决scheme文本文件,加载cookie和表单的状态,将解决scheme放入表单中,然后继续。
  9. Node.js然后接收网站内容。

是的,这是一个漫长的旅程,但你得到你所要求的:)

PS接收网站的步骤9可以通过以下方法实现:使Phantom脚本将结果打印到stdout ,并使Node.js捕获输出(再次查看Child Process文档)。 或者将结果保存到临时文件中。