この記事の例では、tplink WR882NにログインしてIPを取得し、PHPを使用して再起動する方法を説明します。参考のために皆さんと共有してください。詳細は次のとおりです。
tplink WR882N は、サーバーがビッグデータをアップロードするとすぐにスタックし、その後インターネットにアクセスできなくなります。見つかった場合は、サーバーを定期的にチェックする予定です。指定した Web サイトに 10 回連続してアクセスできない場合、再起動操作が自動的に実行されます (この部分は実装されていません。自分で追加してください)
調べてみたところ、tplink は古いバージョンしかありませんでした。ログインスクリプトを長い間試してみましたが、成功しませんでした – 自宅のtplink 740Nは問題ありませんでした
なので、単純に直接書くしかありません。スクリプトは次のとおりです。自分で拡張できます
。 WR882N にのみ適しており、他のモデルはテストされていません。
<?php // TPLINK WR882N 管理脚本 function getContent($url) { // 解悉url $temp = parse_url($url); $query = isset($temp['query']) ? $temp['query'] : ''; $path = isset($temp['path']) ? $temp['path'] : '/'; $header = array ( "POST {$path}?{$query} HTTP/1.1", "Host: {$temp['host']}", "Content-Type: text/xml; charset=utf-8", 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'Cookie: Authorization=Basic ' . base64_encode("admin:admin"), // 注意这里的cookie认证字符串 "Referer: http://{$temp['host']}/", 'User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1)', "Content-length: 380", "Connection: Close" ); $curl = curl_init(); // 启动一个CURL会话 curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址 curl_setopt($curl, CURLOPT_HTTPHEADER, $header); //设置头信息的地方 curl_setopt($curl, CURLOPT_TIMEOUT, 60); // 设置超时限制防止死循环 curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回 $content = curl_exec($curl); // 执行操作 curl_close($curl); return $content; } function getIp(){ $content = getContent("http://192.168.1.1/userRpm/StatusRpm.htm"); preg_match('/wanPara=new Array\((.+?)<\/script>/s',$content,$all); $ip = "0"; if(!empty($all[1])){ $data = trim($all[1]); $data = str_replace("\r\n","",$data); $data = explode(",",$data); $ip = str_replace('"','',$data[2]); $ip = trim($ip); } return $ip; } function reboot(){ $url = "http://192.168.1.1/userRpm/SysRebootRpm.htm?Reboot=%D6%D8%C6%F4%C2%B7%D3%C9%C6%F7"; getContent($url); } $info = getIp(); echo $info;
この記事が PHP プログラミングのすべての人に役立つことを願っています。
tplink WR882N にログインして IP を取得し、PHP を再起動する方法に関するその他の関連記事については、PHP 中国語 Web サイトに注目してください。