所以今天我来了这个奇怪的问题。最近我的无线连接遇到了很多问题,我想要一种快速启用/禁用无线的方法,还可以阻止我的 MAC 地址并查看有多少设备连接到我的网络等。
所以我认为我可以为我的路由器制作一种 API,然后构建我自己的应用程序来访问它(我已经模拟了客户端和路由器服务器之间的 HTTP 通信)。但是,我必须从服务器端读取来自路由器内部服务器的 HTML 响应,这似乎太不切实际了。
然后我只是想应该有一种方法可以直接访问路由器信息,就像内部服务器一样,甚至可以更改内部的网站。
我想这取决于路由器,但只是想就什么是最好的方法以及我可能会错过的任何协议或更好的方法征求意见/建议。
我知道这是一个棘手的问题,也许它不应该出现在 stackoverflow 中,但我认为你们中的任何人都会有知识。
public String login() {
String routerUri = "http://192.168.1.1/login-login.cgi";
RestTemplate restTemplateLogin = new RestTemplate();
HttpHeaders headersLogin = new HttpHeaders();
headersLogin.add("Cookie", "_TESTCOOKIESUPPORT=1");
headersLogin.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>();
map.add("sessionKey", "blablvablalbalbla");
map.add("pass", "");
HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<MultiValueMap<String, String>>(map,
headersLogin);
ResponseEntity<String> response = restTemplateLogin.postForEntity(routerUri, request, String.class);
String loginCookie = response.getHeaders().getFirst("Set-Cookie").split(";")[0].split("=")[1];
return loginCookie;
}
正如你所看到的,现在我正在访问这个 CGI,直接向路由器询问它们,我很高兴看到里面有什么。
路由器:Mitrastar gpt-2541GNAC
非常感谢您的帮助!