有什么方法可以编写一个脚本,以一分钟的间隔自动打开 URL,并记住旧的 cookie?
它必须从 ssh 运行,并非始终连接。
答案1
新答案:
我制作了纯文本版本的脚本,您可以在screen
或 cron 的帮助下轻松地在后台运行。
对于长时间运行的进程,Screen 是更好的选择。使用 screen,即使在从 ssh 注销后,您也可以简单地在远程服务器上运行相同的会话。
首次启动screen
:$ screen
运行elinks 'Yoursite'
。管理登录或任何其他您想要影响 cookies 的操作。退出。在 中运行我的脚本screen
。
让我们使用键盘快捷键 CTRL+a+d 或 ctrl+alt+d 断开您的屏幕会话。它将返回到命令行。现在退出您的 ssh 会话并再次通过 ssh 连接系统并执行以下命令以运行旧的屏幕会话。
$ 屏幕-r
脚本如下,我已经在网络邮件上对其进行了测试以测试 cookie,一切正常,登录一次并保持登录状态重新启动脚本。
#!/bin/bash
while :
do
elinks 'yandex.ru' &
sleep 50s
pkill -u "$(id -un)" elinks
echo "elinks killed, press ctrl-C to cancel loop. sleep 10s."
sleep 10s
done
注意:repo 中的 elinks 版本不支持 javascript。如果您自行构建,当前版本将在满足依赖项的情况下支持 javascript。
更新:我测试了纯文本浏览器links
和lynx
。首先,它们不记得会话之间的 cookie,其次 - 我无法完全测试它,因为它不允许提交表单,这可能是由于 javascript 造成的。(使用网络邮件进行测试,以查看我在第二次浏览器运行时是否保持登录状态)