Tim*_*Tim 30 linux bash website command-line login
我的互联网连接由大学提供。它受用户名/密码组合保护。这意味着当我启动计算机时,我必须启动 Web 浏览器并打开任意网站。然后我被重定向到一个页面,其中(除其他外)包含两种形式。在这些我必须输入用户名和密码。我设法使用 firefox(可以保存密码)和链接(从命令行加载速度更快)来做到这一点。
有没有办法使用 bash 脚本自动化登录过程?这将允许在启动时进行登录,以便在我启动 X 服务器时它已经存在。
Blu*_*303 18
您可以尝试使用curl,您可以像这样简单地使用 curl 登录网页:
curl --user name:password http://somesite.com -v
Run Code Online (Sandbox Code Playgroud)
您可以从Stackoverflow answer将数据传递到这样的网站
curl -b cookies.txt -c cookies.txt --data "Username=xx&Password=xx&Login=Login" [urlthatyour form submits]
Run Code Online (Sandbox Code Playgroud)
如果您想在登录后发出另一个 curl 请求,则需要 cookie。cookie 中的会话 ID 将有助于授权下一个 curl 请求。
如果您不想要 cookie,您可以使用
curl --data "Username=xx&Password=xx&Login=Login" [url that your form submits]
Run Code Online (Sandbox Code Playgroud)
您可以另外参考此处的特殊命令
我终于找到了一种使用elinks. 它可以工作,甚至可以轻松配置!
需要设置两个选项。这可以通过添加以下行~/.elinks/elinks.conf(如果文件不存在,创建一个)或通过更改选项对话框中相应位置的值来完成elinks:
# Save username and password for later use
set document.browse.forms.show_formhist = 1
# Do not ask for confirmation before a form is submitted
set document.browse.forms.confirm_submit = 0
Run Code Online (Sandbox Code Playgroud)
脚本化自动登录的步骤是:
elinks,填写表格并提交。elinks -auto-submit http://somesite.com后一个命令应该执行自动登录,无需进一步的用户交互。
我实际上使用timeout 1m elinks -auto-submit http://somesite.com &,这样我就不会一直在后台运行空闲的 elinks 进程。
| 归档时间: |
|
| 查看次数: |
107547 次 |
| 最近记录: |