我经常需要访问路由器来完成一些简单的任务:重启,打开/关闭一些选项......重复的过程真的让我很烦:(
我想编写一个批处理脚本/程序来帮我完成。
我无法使用 DD-WRT 固件刷新路由器以通过控制台访问它。政策不允许。
然后我想到了一个想法,就是用Qt写一个小程序来和浏览器交互。访问路由器IP,填写密码,浏览到选项页面...
但是,据我所知,我只能使用像 selenium 这样的 Web 驱动程序来做这样的事情,而 Qt 无法使用它。
那么有什么解决办法吗?我非常喜欢使用 Qt 或脚本来解决问题的想法。
任何想法表示赞赏:)
最佳答案
可以只发送表单响应而不加载 QWebFrame 中的页面。您可以使用一些工具(firebug、wireshark)在您单击“保存”时捕获请求/响应,并了解每次您需要此配置时发送到路由器的内容。 这将是简单的 HTTP GET 或 POST 请求。可以使用 curl、wget 或使用 QNetworkRequest 或 wethewer 的简单 QT 应用程序来完成该请求。
如果它需要除 HTTP 基本身份验证之外的其他身份验证,将会更加棘手。您将需要两个请求
- 第一个 - 验证并保存所有 cookie
- 第二个 - 设置参数并将所有 cookie 添加到响应
关于c++ - 使用 Qt/bash 脚本与 Web 浏览器交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25606769/