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 相关文章推荐
PHP4和PHP5性能测试和对比 测试代码与环境
Aug 17 PHP
php 无限级数据JSON格式及JS解析
Jul 17 PHP
实用PHP会员权限控制实现原理分析
May 29 PHP
php去除html标记的原生函数详解
Jan 27 PHP
PHP整合七牛实现上传文件
Jul 03 PHP
Yii2框架数据库简单的增删改查语法小结
Aug 31 PHP
PHP全功能无变形图片裁剪操作类与用法示例
Jan 10 PHP
php基于PDO实现功能强大的MYSQL封装类实例
Feb 27 PHP
yii2中LinkPager增加总页数和总记录数的实例
Aug 28 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
Jun 16 PHP
phpStudy vscode 搭建debug调试的教程详解
Jul 28 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
PHP写MySQL数据 实现代码
2009/06/15 PHP
使用php+Ajax实现唯一校验实现代码[简单应用]
2011/11/29 PHP
Drupal7连接多个数据库及常见问题解决
2014/03/02 PHP
php源码分析之DZX1.5加密解密函数authcode用法
2015/06/17 PHP
幻灯片带网页设计中的20个奇妙应用示例小结
2012/05/27 Javascript
treepanel动态加载数据实现代码
2012/12/15 Javascript
JavaScript instanceof 的使用方法示例介绍
2013/10/23 Javascript
js判断游览器类型及版本号的代码
2014/05/11 Javascript
JavaScript实现将xml转换成html table表格的方法
2015/04/17 Javascript
Bootstrap每天必学之折叠
2016/04/12 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
2020/03/28 Javascript
基于js文件加载优化(详解)
2018/01/03 Javascript
jQuery实现form表单序列化转换为json对象功能示例
2018/05/23 jQuery
react中实现搜索结果中关键词高亮显示
2018/07/31 Javascript
js实现mp3录音通过websocket实时传送+简易波形图效果
2020/06/12 Javascript
python搭建微信公众平台
2016/02/09 Python
实例讲解Python中global语句下全局变量的值的修改
2016/06/16 Python
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
python自动发送邮件脚本
2018/06/20 Python
python如何以表格形式打印输出的方法示例
2019/06/21 Python
python pandas写入excel文件的方法示例
2019/06/25 Python
Pyecharts绘制全球流向图的示例代码
2020/01/08 Python
Python内置异常类型全面汇总
2020/05/28 Python
IE8下CSS3选择器nth-child() 不兼容问题的解决方法
2016/11/16 HTML / CSS
css3使用animation属性实现炫酷效果(推荐)
2020/02/04 HTML / CSS
美国潜水装备、水肺潜水和浮潜设备商店:Leisure Pro
2018/08/08 全球购物
Android interview questions
2016/12/25 面试题
经销商会议欢迎词
2014/01/11 职场文书
优秀辅导员事迹材料
2014/02/16 职场文书
担保书怎么写
2014/04/01 职场文书
机械设计制造及其自动化专业求职信
2014/06/17 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
国家领导干部党的群众路线教育实践活动批评与自我批评材料
2014/09/23 职场文书
大学运动会加油稿200字(5篇)
2014/09/27 职场文书
个人工作违纪检讨书
2015/05/05 职场文书
k-means & DBSCAN 总结
2021/04/27 Python