本文以 TP-LINK 为例,讲解如何通过程序操作路由器。
在浏览器输入路由器地址 http://192.168.1.1/ 会要求输入密码 认证方式为 401
通过 firebug 可看到 登录后 返回的响应头里有一个 Authorization 字段 值为 Basic xxxxxxxxxxx.......
这个就是登录的时候输入的用户名和密码
查看路由器管理界面的 html 发现 管理路由器断线和链接的文件是 /userRpm/StatusRpm.htm
而 断线 按钮 的响应链接 为 /userRpm/StatusRpm.htm?Disconnect=断 线&wan=1
现在我们用程序把 Authorization 加到响应头里 发送到 /userRpm/StatusRpm.htm?Disconnect=断 线&wan=1 就可以让路由器断线了
参数 "断 线" 可能需要转码 我的路由器是 utf8 的
java 示例代码:
// 生成url
URL url = new URL("http://192.168.1.1:8090/userRpm/StatusRpm.htm?Disconnect=%E6%96%AD%20%E7%BA%BF&wan=1");
// 打开链接
URLConnection connection = url.openConnection();
// 把 Authorization 字段 加到响应头里
connection.setRequestProperty("Authorization", "Basic ZnVoYW53OkpvaG4zNTc1NDA1NzQ=");
// 发送数据
connection.connect();
// 接收返回,不知道为什么不接收返回,就没有效果。。。
connection.getHeaderFields();
还有其他很多功能都可以用上述方法实现 比如 自动更换IP 等 不明白的请直接评论此文 我将逐一解答
来源:oschina
链接:https://my.oschina.net/u/207115/blog/206920