Python实现获取当前公网ip并且自动断开宽带连接功能
来源:互联网 发布:mmd软件下载 编辑:程序博客网 时间:2024/04/28 23:49
今天写了一个获取当前公网ip并且自动断开宽带连接的文件,和大家分享下。
这个文件的具体用途大家懂的,可以尽管拿去用,不过目前只适用于Windows平台,我的Python版本是2.7的,win32ras模块需要下载pywin32。
代码如下:
#!coding: cp936import win32rasimport time,osdef Connect(dialname, account, passwd): dial_params = (dialname, '', '', account, passwd, '') return win32ras.Dial(None, None, dial_params, None)def DialBroadband(): dialname = '宽带连接' #just a name account = '********' passwd = '****************' try: #handle is a pid, for disconnect or showipadrress, if connect success return 0. #account is the username that your ISP supposed, passwd is the password. handle, result = Connect(dialname, account, passwd) if result == 0: print "Connection success!" return handle, result else: print "Connection failed, wait for 5 seconds and try again..." time.sleep(5) DialBroadband() except: print "Can't finish this connection, please check out." returndef Disconnect(handle): if handle != None: try: win32ras.HangUp(handle) print "Disconnection success!" return "success" except: print "Disconnection failed, wait for 5 seconds and try again..." time.sleep(5) Disconnect() else: print "Can't find the process!" returndef Check_for_Broadband(): connections = [] connections = win32ras.EnumConnections() if(len(connections) == 0): print "The system is not running any broadband connection." return else: print "The system is running %d broadband connection." % len(connections) return connectionsdef ShowIpAddress(handle): print win32ras.GetConnectStatus(handle) data = os.popen("ipconfig","r").readlines() have_ppp = 0 ip_str = None for line in data: if line.find("宽带连接")>=0: have_ppp = 1 #if your system language is English, you should write like this: #if have_ppp and line.strip().startswith("IP Address"): #in othewords, replace the "IPv4 地址" to "IP Address" if have_ppp and line.strip().startswith("IPv4 地址"): ip_str = line.split(":")[1].strip() have_ppp = 0 print ip_str#get my ipaddress anf disconnect broadband connection.def main(): data = Check_for_Broadband() #if exist running broadband connection, disconnected it. if data != None: for p in data: ShowIpAddress(p[0]) if(Disconnect(p[0]) == "success"): print "%s has been disconnected." % p[1] time.sleep(3) else: pid, res = DialBroadband() ShowIpAddress(pid) time.sleep(3) Disconnect(pid) return "finsh test"test = main()print test
基本的注释都有了,欢迎批评指点。
- Python实现获取当前公网ip并且自动断开宽带连接功能
- Python实现获取当前公网ip并且自动断开宽带连接功能
- Java process、Ruantime 实现ADSL宽带断开、连接达到自动更换IP的效果
- 宽带连接自动断开是怎么回事?
- 利用DOS实现宽带连接或断开宽带的连接
- java写宽带连接.adsl拨号,并且检测断线自动重新连接,更换ip
- nat实现虚拟机自动获取ip并且与主机互通
- 从局域网获取公网IP的实现
- 获取SQL SERVER 当前连接,以及如何断开连接
- 获取SQL SERVER 当前连接,以及如何断开连接
- SQLITE 连接字符串 并且获取当前时间
- java获取公网ip
- Java获取公网ip
- 获取公网IP
- win32获取公网ip
- 获取公网IP
- 获取公网的ip
- 获取公网ip地址
- 三国有感
- 分割字符串
- realloc,malloc,calloc的区别
- Spring高级程序设计 5 Spring AOP基础
- 友元实例:友元类及友元函数
- Python实现获取当前公网ip并且自动断开宽带连接功能
- 冒泡数据排序算法
- servlet + JSP+ mysql实现文件的上传
- 如何使用域组策略(AD GPO)分发软件安装以及卸载
- Android平台framework层的开发
- Eclipse下安装Android开发环境:NDK和CDT【转】
- VC6的栈平衡检查
- 如何防止脏读、不可重复读、幻读
- 黑马程序员--还是另偶头疼的javascript。。。这次是正则表达式