今天写了一个获取当前公网ip并且自动断开宽带连接的文件,和大家分享下。
这个文件的具体用途大家懂的,可以尽管拿去用,不过目前只适用于Windows平台,我的Python版本是2.7的,win32ras模块需要下载pywin32。
代码如下:
复制代码
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86#!coding: cp936 import win32ras import time,os def 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." return def 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!" return def 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 connections def 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并自动断开宽带连接实例代码的全部内容,更多相关Python获取当前公网ip并自动断开宽带连接实例代码内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复