在PHP中使用cURL重新启动调制解调器

时间:2014-01-16 16:20:28

标签: php curl router cisco

我有一台Cisco EPC3825调制解调器。它需要每天重新启动,否则它将开始执行缓慢。我做了一些挖掘它的源代码并想出要登录我需要将username_loginpassword_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输入正确。这是原始代码中的拼写错误。

0 个答案:

没有答案