本文章來給各位同學介紹一個關於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&SLB/VPC Operations and Maintenance SystemPap=0&linktype=2&Disconnect=%B6%CF+%CF%DF”然後類比請求這個地址,經測試確實可以更換IP地址(通過http://api.akcms.com/myip.php可以看到當前IP)。接下來的就簡單了:就用PHP使用Curl組件來實現這個請求的過程,我封裝了一個函數resetip,具體代碼如下:
| 代碼如下 |
複製代碼 |
123456';$ch = curl_init();curl_setopt($ch, CURLOPT_URL, 'http://192.168.0.1/userRpm/PPPoECfgRpm.htm?wantype=2&acc=65541234&psw=Hello123World&SLB/VPC Operations and Maintenance SystemPap=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,重啟地址也各有不同,但大同小異,自己改改。
http://www.bkjia.com/PHPjc/633134.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/633134.htmlTechArticle本文章來給各位同學介紹一個關於PHP重啟路由器以更換IP地址程式,如果你對此有興趣不防進入參考哦。在採集大批量資料時常常會觸發對方...