我希望能够通过使用 curl 或 wget 访问路由器页面上的表单来运行某种 shell 脚本/curl 命令来切换我的电视服务。
我已经能够使用命令行上的 -u 用户名:密码通过身份验证;使用
/index.cgi?页面=服务&sessionid=X6dRAsbOxWh9sc9llfGngL9lH4rQOsA>
(我尝试过不使用 sessionid 参数和 -u 并且它可以工作)
我已经能够设置 HTML 控件了,但某个地方的保存按钮调用了一段 JavaScript。我知道选项按钮的名称是“服务”,值可以是 0 或 1,但我不知道如何调用 FormSubmit('butt2') 来提交值。我可以初始化一个 cookie jar……我似乎已经很接近了,但要使用设置的值和正确的参数“butt2”执行脚本
请帮忙
绝望的爸爸
答案1
你需要做的是不是加载页面,填写表格并提交 - 而是直接将相同的数据提交到通常手动提交表格的同一位置。
如果您查看该页面上的 JS,在某些时候它会执行 form.submit 或 ajax 提交到 URL。您需要做的是直接将相同的数据发布到与表单相同的 URL,但使用 CURL/WGET。
以下答案解释了如何执行此操作以及如何找出需要提交的数据: