nodejs和phantomjs或任何其他无头浏览器之间的实时通信
我正在开发一个nodejs中的应用程序,它将多个Intranet站点合并为一个。到目前为止,我使用requestjs来请求获取我需要的东西。 我有点卡在如何做nodejs(与快递)和具有validation码login的特定网站之间的实时通信。 我正在考虑将validation码转发给我的用户界面的无头浏览器,但是我不知道如何开始。 有没有好的和最新的教程?
实时沟通是营销人员的热门话题,这也是你感到失落的原因。
如果我find了你,你有一个node.js服务器,它聚集了几个站点在同一时间加扰。
这是纸面上的解决scheme(这将需要一些努力来编码这一切 – 你的任务):
(让网站A有captcha)
- 客户端连接到node.js服务器
- Node.js服务器从命令行运行phantomjs脚本( subprocess手册将有所帮助)
- 脚本争夺。 网站一个加扰器接收validation码和cookies/forms与该validation码的一些独特的价值观。 脚本需要在一些临时文本文件中保存cookie和表单的状态。 将validation码图片保存到临时文件中。 出口
- Node.js检查是否在给定的文件夹中创build了新的临时validation码图像。 如果他们是 – 显示给用户
- 用户inputvalidation码,将解决scheme发送回节点
- 如果临时图像名为
Captcha_Site_A.png
则将解决scheme保存到Captcha_Site_A.txt
。 - 运行网站加扰器第2部分。
- 第2部分search创build的解决scheme文本文件,加载cookie和表单的状态,将解决scheme放入表单中,然后继续。
- Node.js然后接收网站内容。
是的,这是一个漫长的旅程,但你得到你所要求的:)
PS接收网站的步骤9可以通过以下方法实现:使Phantom脚本将结果打印到stdout
,并使Node.js捕获输出(再次查看Child Process文档)。 或者将结果保存到临时文件中。