• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python获取当前公网ip并自动断开宽带连接实例代码

python 搞代码 4年前 (2022-01-07) 21次浏览 已收录 0个评论

这篇文章主要介绍了Python获取当前公网ip并自动断开宽带连接实例代码,具有一定借鉴价值,需要的朋友可以参考下

今天写了一个获取当前公网ip并且自动断开宽带连接的文件,和大家分享下。

这个文件的具体用途大家懂的,可以尽管拿去用,不过目前只适用于Windows平台,我的Python版本是2.7的,win32ras模块需要下载pywin32。

代码如下:

 #!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<div style="color:transparent">来源gaodai.ma#com搞#代!码网</div>..." 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并自动断开宽带连接实例代码的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python获取当前公网ip并自动断开宽带连接实例代码

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址