且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Python3切换TP-LINK外网IP(ADSL)

更新时间:2022-09-24 08:53:16

【代码】

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#encoding=utf-8
#author:walker
#date:2015-08-05
#summary:通过断开连接时TP-LINK重新拨号,以切换IP。此代码经过python3.4测试(适用于TL-WR847N)。
 
import base64, requests, traceback
 
def ChangeIP():
    ip = '192.168.1.1'
    user = 'admin'
    pwd = 'admin'
     
    desturl = 'http://' + ip + '/userRpm/StatusRpm.htm?Disconnect=%B6%CF%20%CF%DF&wan=1'
    auth = 'Basic ' + base64.b64encode((user+':'+pwd).encode(encoding='utf-8')).decode(encoding='utf-8')
    heads = {
        'Accept''*/*',
        'User-Agent''Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)',
        'Referer' 'http://' + ip + '/userRpm/StatusRpm.htm',
        #'Authorization' : auth
        'Cookie''Authorization=' + auth
    }
     
    try:
        = requests.get(url=desturl, headers=heads)
        print(r)
    except:
        exMsg = '* exMsg:\n' + traceback.print_exc()
        print(exMsg)
 
if __name__ == "__main__":  
    ChangeIP()

【注意】

认证部分不能完全照搬,可通过浏览器分析请求头。


参考:

1、用Python重启TP-Link路由器(重启)

2、Python登录TP-Link路由器换ip脚本(重连)

3、Python一键设置路由器


*** walker ***

本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/1681948如需转载请自行联系原作者

RQSLT