我有一台Cisco EPC3825调制解调器。它需要每天重新启动,否则它将开始执行缓慢。我做了一些挖掘它的源代码并想出要登录我需要将username_login
和password_login
字段发布到/goform/Docsis_system
。从那里我将导航到管理和设备重新启动,然后我将再次输入密码并单击重新启动。我以为我可以将密码发送到表单处理程序。
我想出了以下代码。
<?php
$login = array(
"username_login" => "username",
"password_login" => "password"
);
$c = curl_init();
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_COOKIESESSION, 1);
curl_setopt($c, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($c, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($c, CURLOPT_POST, 1);
curl_setopt($c, CURLOPT_URL, "http://192.168.0.1/goform/Docsis_system");
curl_setopt($c, CURLOPT_POSTFIELDS, $login);
curl_exec($c);
$confirm = array(
"devicerestrat_Password_check" => "password"
);
curl_setopt($c, CURLOPT_POST, 1);
curl_setopt($c, CURLOPT_URL, "http://192.168.0.1/goform/Devicerestart");
curl_setopt($c, CURLOPT_POSTFIELDS, $confirm);
curl_exec($c);
curl_close($c);
?>
这个成功记录。在CURLOPT_POST
设置为0时,我尝试在记录后从路由器加载主页面。这一个返回了用户登录时显示的页面。
下一部分虽然不起作用。我怎么能调试它在做什么? curl_exec
的返回值为空,因此回显它不会做任何事情。
请注意,devicerestrat_Password_check
数组中的$confirm
输入正确。这是原始代码中的拼写错误。