> php教程 > PHP开发 > 본문

IP를 얻고 다시 시작하기 위해 tplink WR882N에 PHP 로그인을 구현하는 방법

高洛峰
풀어 주다: 2016-12-28 16:20:33
원래의
2113명이 탐색했습니다.

이 기사의 예에서는 PHP가 tplink WR882N에 로그인하여 IP를 얻고 다시 시작하는 방법을 설명합니다. 참고하실 수 있도록 자세한 내용은 다음과 같습니다.

서버가 빅데이터를 업로드하자마자 tplink WR882N이 쉽게 멈춰서 인터넷에 액세스할 수 없게 됩니다. 정기적으로 서버를 확인할 계획입니다. 지정된 웹사이트에 10회 연속 접속이 불가능한 것으로 확인되면 자동으로 재시작 작업을 수행합니다(이 부분은 구현되지 않았으니 직접 추가해주세요). tplink 로그인 스크립트의 이전 버전일 뿐입니다. 오랫동안 시도했지만 성공하지 못했습니다. 집에 있는 tplink 740N은 문제가 없습니다.

그래서 간단한 스크립트만 작성할 수 있습니다. 스스로 확장할 수 있습니다

이 스크립트는 WR882N에만 적합하며 다른 모델은 테스트되지 않았습니다.

이 기사가 PHP 프로그래밍에 도움이 되는 모든 사람에게 도움이 되기를 바랍니다.
<?php
// TPLINK WR882N 管理脚本
function getContent($url)
{
  // 解悉url
  $temp = parse_url($url);
  $query = isset($temp[&#39;query&#39;]) ? $temp[&#39;query&#39;] : &#39;&#39;;
  $path = isset($temp[&#39;path&#39;]) ? $temp[&#39;path&#39;] : &#39;/&#39;;
  $header = array (
    "POST {$path}?{$query} HTTP/1.1",
    "Host: {$temp[&#39;host&#39;]}",
    "Content-Type: text/xml; charset=utf-8",
    &#39;Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8&#39;,
    &#39;Cookie: Authorization=Basic &#39; . base64_encode("admin:admin"),  // 注意这里的cookie认证字符串
    "Referer: http://{$temp[&#39;host&#39;]}/",
    &#39;User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1)&#39;,
    "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(&#39;/wanPara=new Array\((.+?)<\/script>/s&#39;,$content,$all);
  $ip = "0";
  if(!empty($all[1])){
    $data = trim($all[1]);
    $data = str_replace("\r\n","",$data);
    $data = explode(",",$data);
    $ip = str_replace(&#39;"&#39;,&#39;&#39;,$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;
로그인 후 복사

tplink WR882N에 로그인하여 IP를 얻고 PHP로 다시 시작하는 방법에 대한 자세한 관련 기사를 보려면 PHP 중국어 웹사이트에 주목하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!