【代码】
#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:
r = 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脚本(重连)
*** walker ***
转载于:https://blog.51cto.com/walkerqt/1681948