Heim  >  Artikel  >  php教程  >  So implementieren Sie die PHP-Anmeldung bei tplink WR882N, um die IP zu erhalten und neu zu starten

So implementieren Sie die PHP-Anmeldung bei tplink WR882N, um die IP zu erhalten und neu zu starten

高洛峰
高洛峰Original
2016-12-28 16:20:332149Durchsuche

Das Beispiel in diesem Artikel beschreibt die Methode von PHP, sich bei tplink WR882N anzumelden, um eine IP zu erhalten und neu zu starten. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Sobald der Server große Datenmengen hochlädt, bleibt tplink WR882N leicht hängen und kann dann nicht auf das Internet zugreifen. Wir planen, den Server regelmäßig zu überprüfen. Wenn festgestellt wird, dass auf die angegebene Website zehnmal hintereinander nicht zugegriffen werden kann, führen Sie den Neustartvorgang automatisch durch (dieser Teil ist nicht implementiert, bitte fügen Sie ihn selbst hinzu

Nachdem ich mich umgesehen habe, habe ich das dort gefunden). ist nur die alte Version des tplink-Anmeldeskripts. Ich habe es lange Zeit erfolglos ausprobiert – der tplink 740N zu Hause hat kein Problem.

Ich kann es also nur direkt schreiben. welches selbst erweitert werden kann

Dieses Skript ist nur für WR882N geeignet, andere Modelle wurden nicht getestet.

<?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;

Ich hoffe, dass dieser Artikel für alle hilfreich ist, die bei der PHP-Programmierung helfen.

Weitere verwandte Artikel darüber, wie Sie sich bei tplink WR882N anmelden, um eine IP zu erhalten und mit PHP neu zu starten, finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn