程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP重啟路由器以更換IP地址程序

PHP重啟路由器以更換IP地址程序

編輯:關於PHP編程

本文章來給各位同學介紹一個關於PHP重啟路由器以更換IP地址程序,如果你對此有興趣不防進入參考哦。在采集大批量數據時常常會觸發對方服務器的“自我保護”,請求過於頻繁就限制訪問。這時需要停留很長一段時間(十幾分鐘到幾十分鐘不等)才能恢復訪問,這樣采集數據的速度就受到非常大的限制。 解決方法有兩個: 1 通過圖片識別繞過驗證碼機制,告訴服務器:我不是蜘蛛,我是人。不信你瞧,我能看懂驗證碼。 2 更換IP,告訴服務器:我不是張三,我是李四。不信你瞧,我的IP地址和張三的不一樣。 第一個方法難度稍高一點而且不靠譜,等哪天對方服務器升級了驗證碼了,這邊也得跟進,麻煩多;而ISP(電信、聯通、移動)那兒有很多IP,每次聯網都會分配一個新的IP,因此方法二比較好。 以我的TP-LINK路由器為例,找到“網絡參數”>“WAN口設置”,可以看到“自動連接”設置和“斷線”按鈕。每次點擊“斷線”按鈕,就向ISP重新撥號,此時就換了一個IP。但大批量數據的采集需要的時間比較長,不可能總有人在旁邊守著,最好能在PHP代碼中,一旦發現被限制了就重啟一次,這就回到本文的主題了:《通過PHP函數重啟路由器以更換IP》 打開chrome浏覽器的調試模式,然後點擊“斷線”按鈕,看“Network”網絡請求,可以看到實際執行的地址是:“http://192.168.0.1/userRpm/PPPoECfgRpm.htm?wantype=2&acc=65541234&psw=Hello123World&VnetPap=0&linktype=2&Disconnect=%B6%CF+%CF%DF” 然後模擬請求這個地址,經測試確實可以更換IP地址(通過http://api.akcms.com/myip.php可以看到當前IP)。接下來的就簡單了:就用PHP使用Curl組件來實現這個請求的過程,我封裝了一個函數resetip,具體代碼如下:

	  
		 代碼如下
		復制代碼
	  
	  
		
<?php
//本腳本測試重啟路由器的WLAN連接
resetip();

function resetip() {
	$username = 'admin';
	$password = '123456';
	
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, 'http://192.168.0.1/userRpm/PPPoECfgRpm.htm?wantype=2&acc=65541234&psw=Hello123World&VnetPap=0&linktype=2&Disconnect=%B6%CF+%CF%DF');
	curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_exec($ch);
	curl_close($ch);
}
?>
高亮處需要根據自己的情況修改,路由器地址有的是192.168.1.1,重啟地址也各有不同,但大同小異,自己改改。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved