我正在尝试使用 Phantom.js 脚本访问 Express.js 应用程序的受护照页面。
如何在不知道护照的情况下模拟登录用户?
我使用 Passport.js 作为带有 LocalStrategy 和 MongoStore 的auth库来保护 mongo中的会话数据库。我想知道我是否可以在 sessions 集合中创建记录并使用 Phantom.js (phantom.addCookie(...)
)设置生成的cookie来模拟特定的登录用户没有用户的密码?
我是否可以为后端的特定用户生成 connect.sid Cookie的内容,并将其添加到phantom.js以模拟已登录的用户?
我发现Passport.js使用Cookie-Signature节点模块来签署cookie内容,我假设 Express.js 使用Connect cookie 和 session 中间件来处理cookie和会话创建并将它们插入到HTTP头中。
答案 0 :(得分:1)
使用javascript,您应该能够填写您的登录字段并提交。 (模拟用户登录,而不是尝试重新创建登录cookie)
这可能是你最好的选择。
如何填写表格,请参阅: How to fill in form field, and submit, using javascript? Automatic form fill using javascript