Python擷取當前公網ip並自動斷開寬頻連線執行個體代碼,python執行個體

來源:互聯網
上載者:User

Python擷取當前公網ip並自動斷開寬頻連線執行個體代碼,python執行個體

今天寫了一個擷取當前公網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..."       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並自動斷開寬頻連線執行個體代碼的全部內容,希望對大家有所協助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支援!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.