企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 0 首先要知道源网站登录后Cookie的变化 下面第1张图是chrome核浏览器-开发者工具Network面板-源网站未登录账号时网页如 `http://www.missevan.com/` 的Cookies信息,第2张图是登录账号后自动跳转回刚才登录前网页 `http://www.missevan.com/` 的Cookies信息,对比后发现多了token这一栏。 ![](https://box.kancloud.cn/42d41ee5a5c0892a6d9a19170402149e_435x249.png) ![](https://box.kancloud.cn/e96e9b0e3cc3b225147a8cbeb67c619d_432x207.png) <br> ## 1 插件(本节都是schema="1"的插件)xml部分的meta节点里加上login节点 login节点的url属性是填源网站有登录框页面的网址,也就是在 `http://www.missevan.com/` 页面点击登录按钮后进入的网址,backurl表示登录后会自动跳转回之前的网址;check属性是通过对应的js函数检查是否已登录;auto属性是设置是否自动检查登录状态并跳出登录窗口(0是关闭,1是打开,建议关闭因为不是人人都有账户想登录的);run="web"表示用app内置浏览器打开login节点的url,不要修改,这样才有登录框给用户填写。示例代码如下: ```xml <meta> ...... <encode>xx</encode> <about> <item/> </about> <login run="web" url="https://www.missevan.com/member/login?backurl=https%3A%2F%2Fwww.missevan.com%2F" check="login_check" auto="0" /> </meta> ``` <br> ## 2 插件js部分(code节点里)加上对应的check函数,如下 ```javascript <code> <![CDATA[ function login_check(url, cookies) { if (!cookies) { return '0'; } if (cookies.indexOf('token=') > 0) { return '1'; } else { return '0'; } } ...... ...... ]]> </code> ``` <br> ## 3 如果book节点的原网页须要登录后才显示一些章节 须要在xml部分的book节点里名加上属性 `header="cookie;referer"` (v34引擎起的header格式是 `header="cookie $$ referer"` ),才能利用好从登录节点收集过来的cookies。 (本节完)