Python獲取當(dāng)前公網(wǎng)ip并自動斷開寬帶連接實例代碼
今天寫了一個獲取當(dāng)前公網(wǎng)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
基本的注釋都有,大家可以自己參考。
總結(jié)
以上就是本文關(guān)于Python獲取當(dāng)前公網(wǎng)ip并自動斷開寬帶連接實例代碼的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關(guān)文章
Python multiprocessing.Manager介紹和實例(進(jìn)程間共享數(shù)據(jù))
這篇文章主要介紹了Python multiprocessing.Manager介紹和實例(進(jìn)程間共享數(shù)據(jù)),本文介紹了Manager的dict、list使用例子,同時介紹了namespace對象,需要的朋友可以參考下2014-11-11解決運(yùn)行出現(xiàn)''dict'' object has no attribute ''has_key''問題
這篇文章主要介紹了快速解決出現(xiàn)class object has no attribute ' functiong' or 'var'問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07對sklearn的使用之?dāng)?shù)據(jù)集的拆分與訓(xùn)練詳解(python3.6)
今天小編就為大家分享一篇對sklearn的使用之?dāng)?shù)據(jù)集的拆分與訓(xùn)練詳解(python3.6),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12詳解使用Pytorch Geometric實現(xiàn)GraphSAGE模型
這篇文章主要為大家介紹了詳解使用Pytorch Geometric實現(xiàn)GraphSAGE模型示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04TensorFlow2.X使用圖片制作簡單的數(shù)據(jù)集訓(xùn)練模型
這篇文章主要介紹了TensorFlow2.X使用圖片制作簡單的數(shù)據(jù)集訓(xùn)練模型,本文通過截圖實例代碼相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04Pyspark讀取parquet數(shù)據(jù)過程解析
這篇文章主要介紹了pyspark讀取parquet數(shù)據(jù)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-03-03