php实现登录tplink WR882N获取IP和重启的方法


Posted in PHP onJuly 20, 2016

本文实例讲述了php实现登录tplink WR882N获取IP和重启的方法。分享给大家供大家参考,具体如下:

服务器一上传大数据tplink WR882N就容易卡住, 然后上不了网. 打算在服务器定时检测, 如发现连续10次无法访问指定网站, 则自动执行重启操作(该部分未实现, 请自己添加).

gg了一圈发现只有旧版的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程序设计有所帮助。

PHP 相关文章推荐
PHP 获取远程文件内容的函数代码
Mar 24 PHP
ubuntu 编译安装php 5.3.3+memcache的方法
Aug 05 PHP
使用Discuz关键词服务器实现PHP中文分词
Mar 11 PHP
PHP模块memcached使用指南
Dec 08 PHP
ThinkPHP内置jsonRPC的缺陷分析
Dec 18 PHP
php实现对两个数组进行减法操作的方法
Apr 17 PHP
PHP读MYSQL中文乱码的快速解决方法
Oct 01 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
Oct 12 PHP
PHP验证码类ValidateCode解析
Jan 07 PHP
php使用自定义函数实现汉字分割替换功能示例
Jan 30 PHP
php redis实现文章发布系统(用户投票系统)
Mar 04 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 PHP
PHP的AES加密算法完整实例
Jul 20 #PHP
postfixadmin忘记密码后的修改密码方法详解
Jul 20 #PHP
PHP简单日历实现方法
Jul 20 #PHP
分析PHP中单双引号的误区和双引号小隐患
Jul 19 #PHP
PHP实现数组array转换成xml的方法
Jul 19 #PHP
smarty循环嵌套用法示例分析
Jul 19 #PHP
PHP中Socket连接及读写数据超时问题分析
Jul 19 #PHP
You might like
一个用于网络的工具函数库
2006/10/09 PHP
php 网页游戏开发入门教程一(webgame+design)
2009/10/26 PHP
php实现仿写CodeIgniter的购物车类
2015/07/29 PHP
微信公众号之主动给用户发送消息功能
2019/06/22 PHP
一个对于js this关键字的问题
2007/01/09 Javascript
鼠标事件延时切换插件
2011/03/12 Javascript
jquery 插件学习(六)
2012/08/06 Javascript
javascript实现炫酷的拖动分页
2015/05/11 Javascript
七夕情人节丘比特射箭小游戏
2015/08/20 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
2016/08/10 Javascript
利用jQuery插件imgAreaSelect实现获得选择域的图像信息
2016/12/02 Javascript
angular实现form验证实例代码
2017/01/17 Javascript
vue实现图书管理demo详解
2017/10/17 Javascript
Angular中点击li标签实现更改颜色的核心代码
2017/12/08 Javascript
iview通过Dropdown(下拉菜单)实现的右键菜单
2018/10/26 Javascript
Vue+Webpack完美整合富文本编辑器TinyMce的方法
2018/11/30 Javascript
vue实现手机端省市区区域选择
2019/09/27 Javascript
js实现随机div颜色位置 类似满天星效果
2019/10/24 Javascript
Python全局变量操作详解
2015/04/14 Python
使用python实现BLAST
2018/02/12 Python
一文带你了解Python中的字符串是什么
2018/11/20 Python
python opencv 批量改变图片的尺寸大小的方法
2019/06/28 Python
python中删除某个元素的方法解析
2019/11/05 Python
Python OpenCV视频截取并保存实现代码
2019/11/30 Python
django rest framework使用django-filter用法
2020/07/15 Python
CSS3弹性盒模型flex box快速入门心得(必看篇)
2016/05/24 HTML / CSS
欧洲高端品牌直销店:Fashionesta
2016/08/31 全球购物
西班牙手机之家:Phone House
2018/10/18 全球购物
Gerry Weber德国官网:优质女性时装,德国最大的时装公司之一
2019/11/02 全球购物
摄影展策划方案
2014/06/02 职场文书
团干部培训方案
2014/06/03 职场文书
乡镇党建工作汇报材料
2014/08/14 职场文书
2015年安康杯竞赛活动总结
2015/03/26 职场文书
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL
AndroidStudio图片压缩工具ImgCompressPlugin使用实例
2022/08/05 Java/Android