国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python獲取本機(jī)IP地址的三種方式

這篇具有很好參考價值的文章主要介紹了Python獲取本機(jī)IP地址的三種方式。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

1、使用專用網(wǎng)址

2、使用自帶socket庫

3、使用第三方netifaces庫


1、使用專用網(wǎng)站

獲取的是公網(wǎng)IP。

網(wǎng)址:http://myip.ipip.net

代碼:


   
   
  1. import requests
  2. res = requests.get( 'https://myip.ipip.net', timeout= 5).text
  3. print(res)

具體可以類似這樣:


   
   
  1. import requests
  2. import re
  3. def getOutterIP():
  4. ip = ''
  5. try:
  6. res = requests.get( 'https://myip.ipip.net', timeout= 5).text
  7. ip = re.findall( r'(\d+\.\d+\.\d+\.\d+)', res)
  8. ip = ip[ 0] if ip else ''
  9. except:
  10. pass
  11. return ip

python 獲取本機(jī)ip,python,tcp/ip,開發(fā)語言

?比較喜歡用這個,在命令窗口也能使用:

curl https://myip.ipip.net
   
   

python 獲取本機(jī)ip,python,tcp/ip,開發(fā)語言

還可以用這個:https://api.ipify.org

2、使用自帶socket庫

獲取的是局域網(wǎng)IP。


   
   
  1. import socket
  2. # 函數(shù) gethostname() 返回當(dāng)前正在執(zhí)行 Python 的系統(tǒng)主機(jī)名
  3. res = socket.gethostbyname(socket.gethostname())
  4. print(res)

但是上面這個獲取的不是公網(wǎng)IP,結(jié)果也不穩(wěn)定(這里獲取了虛擬機(jī)下的IP),不建議使用。

python 獲取本機(jī)ip,python,tcp/ip,開發(fā)語言

?如果計算機(jī)設(shè)備有連接到 Internet 的路由,可以使用:


   
   
  1. import socket
  2. s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  3. s.connect(( "8.8.8.8", 80))
  4. print(s.getsockname()[ 0])

這個獲得的是局域網(wǎng)IP:

python 獲取本機(jī)ip,python,tcp/ip,開發(fā)語言

可以ipconfig看一下:

python 獲取本機(jī)ip,python,tcp/ip,開發(fā)語言

另一個適用于所有接口。它還適用于所有公共、私有、外部 IP。這種方法在 Linux、Windows 和 OSX 上很有效。


   
   
  1. import socket
  2. def extract_ip():
  3. st = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  4. try:
  5. st.connect(( '10.255.255.255', 1))
  6. IP = st.getsockname()[ 0]
  7. except Exception:
  8. IP = '127.0.0.1'
  9. finally:
  10. st.close()
  11. return IP
  12. print(extract_ip())

注意:如果本身局域網(wǎng)IP就是公網(wǎng)IP的話,那這個獲得的,可以認(rèn)為是公網(wǎng)IP了。

3、使用第三方netifaces庫

獲取的是局域網(wǎng)IP。

netifaces?模塊用于提供有關(guān)網(wǎng)絡(luò)接口及其狀態(tài)的信息。

代碼:

沒裝的先裝一下庫

pip3 install netifaces
   
   

然后使用


   
   
  1. from netifaces import interfaces, ifaddresses, AF_INET
  2. for ifaceName in interfaces():
  3. addresses = [i[ 'addr'] for i in ifaddresses(ifaceName).setdefault(AF_INET, [{ 'addr': 'No IP addr'}] )]
  4. print( ' '.join(addresses))

python 獲取本機(jī)ip,python,tcp/ip,開發(fā)語言文章來源地址http://www.zghlxwxcb.cn/news/detail-759251.html

目錄

1、使用專用網(wǎng)址

2、使用自帶socket庫

3、使用第三方netifaces庫


1、使用專用網(wǎng)站

獲取的是公網(wǎng)IP

網(wǎng)址:http://myip.ipip.net

代碼:


   
   
  1. import requests
  2. res = requests.get( 'https://myip.ipip.net', timeout= 5).text
  3. print(res)

具體可以類似這樣:


   
   
  1. import requests
  2. import re
  3. def getOutterIP():
  4. ip = ''
  5. try:
  6. res = requests.get( 'https://myip.ipip.net', timeout= 5).text
  7. ip = re.findall( r'(\d+\.\d+\.\d+\.\d+)', res)
  8. ip = ip[ 0] if ip else ''
  9. except:
  10. pass
  11. return ip

python 獲取本機(jī)ip,python,tcp/ip,開發(fā)語言

?比較喜歡用這個,在命令窗口也能使用:

curl https://myip.ipip.net
   
   

python 獲取本機(jī)ip,python,tcp/ip,開發(fā)語言

還可以用這個:https://api.ipify.org

2、使用自帶socket庫

獲取的是局域網(wǎng)IP。


   
   
  1. import socket
  2. # 函數(shù) gethostname() 返回當(dāng)前正在執(zhí)行 Python 的系統(tǒng)主機(jī)名
  3. res = socket.gethostbyname(socket.gethostname())
  4. print(res)

但是上面這個獲取的不是公網(wǎng)IP,結(jié)果也不穩(wěn)定(這里獲取了虛擬機(jī)下的IP),不建議使用。

python 獲取本機(jī)ip,python,tcp/ip,開發(fā)語言

?如果計算機(jī)設(shè)備有連接到 Internet 的路由,可以使用:


   
   
  1. import socket
  2. s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  3. s.connect(( "8.8.8.8", 80))
  4. print(s.getsockname()[ 0])

這個獲得的是局域網(wǎng)IP:

python 獲取本機(jī)ip,python,tcp/ip,開發(fā)語言

可以ipconfig看一下:

python 獲取本機(jī)ip,python,tcp/ip,開發(fā)語言

另一個適用于所有接口。它還適用于所有公共、私有、外部 IP。這種方法在 Linux、Windows 和 OSX 上很有效。


   
   
  1. import socket
  2. def extract_ip():
  3. st = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  4. try:
  5. st.connect(( '10.255.255.255', 1))
  6. IP = st.getsockname()[ 0]
  7. except Exception:
  8. IP = '127.0.0.1'
  9. finally:
  10. st.close()
  11. return IP
  12. print(extract_ip())

注意:如果本身局域網(wǎng)IP就是公網(wǎng)IP的話,那這個獲得的,可以認(rèn)為是公網(wǎng)IP了。

3、使用第三方netifaces庫

獲取的是局域網(wǎng)IP

netifaces?模塊用于提供有關(guān)網(wǎng)絡(luò)接口及其狀態(tài)的信息。

代碼:

沒裝的先裝一下庫

pip3 install netifaces
   
   

然后使用


   
   
  1. from netifaces import interfaces, ifaddresses, AF_INET
  2. for ifaceName in interfaces():
  3. addresses = [i[ 'addr'] for i in ifaddresses(ifaceName).setdefault(AF_INET, [{ 'addr': 'No IP addr'}] )]
  4. print( ' '.join(addresses))

python 獲取本機(jī)ip,python,tcp/ip,開發(fā)語言

到了這里,關(guān)于Python獲取本機(jī)IP地址的三種方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • JavaScript 如何獲取本機(jī)IP地址

    獲取本機(jī)IP地址是前端工程師經(jīng)常需要處理的問題。JavaScript 有幾種方法可以獲取客戶端的IP地址。下面是三種獲取本機(jī)IP的方法。 方法1:使用第三方 API 一種獲取客戶端IP地址的最簡單方法是使用第三方API。可以使用一些免費API,例如ipify.org等來獲取IP地址。下面的代碼片段展

    2024年02月04日
    瀏覽(18)
  • Qt 獲取本機(jī)IP地址及Mac地址

    首先需要在pro文件中添加network模塊 添加頭文件 以下是獲取IP地址代碼 獲取MAC地址 測試應(yīng)用輸出

    2024年02月09日
    瀏覽(21)
  • Vue.js 如何獲取本機(jī) IP 地址

    在 Vue.js 中,要獲取本機(jī) IP 地址,你可以使用 JavaScript 來實現(xiàn)。JavaScript 提供了一種獲取客戶端 IP 地址的方法,可以通過瀏覽器的 API 來獲取。下面是一個示例代碼,演示了如何在 Vue.js 中獲取本機(jī) IP 地址。 首先,你需要在 Vue 組件中創(chuàng)建一個方法,需要在 Vue 組件中創(chuàng)建一個

    2024年02月04日
    瀏覽(21)
  • 終止python代碼運行的三種方式

    終止python代碼運行的三種方式

    一 sys.exit() 執(zhí)行這條語句會直接退出程序,也是常用的方法,不需要考慮平臺等因素的影響。它通常是退出 Python 程序的首選方法。 該方法包含一個參數(shù)status,默認(rèn)為0,表示正常退出,或1,表示異常退出。 此方法引發(fā) SystemExit 異常(這是唯一不被視為錯誤的異常)。當(dāng)這個

    2024年02月05日
    瀏覽(20)
  • Linux c語言獲取本機(jī)網(wǎng)關(guān) ip 地址

    這篇文章寫了獲取本機(jī)的ip地址和子網(wǎng)掩碼:Linux c語言獲取本機(jī) ip、子網(wǎng)掩碼 關(guān)于Netlink套接字請參考:Linux 網(wǎng)絡(luò)之netlink 簡介 Linux Netlink套接字是一種用于在Linux內(nèi)核和用戶空間之間進(jìn)行通信的機(jī)制。它是Linux內(nèi)核中的一種通信協(xié)議,用于讓用戶空間程序與內(nèi)核進(jìn)行交互。使用

    2024年02月07日
    瀏覽(23)
  • python生成excel文件的三種方式

    python生成excel文件的三種方式

    在我們做平常工作中都會遇到操作excel,那么今天寫一篇,如何通過python操作excel。當(dāng)然python操作excel的庫有很多,比如pandas,xlwt/xlrd,openpyxl等,每個庫都有不同的區(qū)別,具體的區(qū)別,大家一起來看看吧~ xlrd是對于Excel進(jìn)行讀取,xlrd 操作的是xls/xlxs格式的excel xlwt是對于Excel進(jìn)

    2024年02月15日
    瀏覽(29)
  • Qt 獲取本機(jī) ip地址方法 獲取客戶端ip和端口的方法

    上述函數(shù)返回本機(jī)所有IPv4的ip地址列表,比如192.168.1.10|192.166.1.95 其它方法=》 獲取客戶端IP地址:

    2024年02月14日
    瀏覽(17)
  • 用python給照片添加水印的三種方式

    方式1:PIL模塊 給照片添加水印的代碼多種多樣,下面這種的或許是最為簡單的形式, 方式2:用opencv模塊 用opencv來給圖片添加水印,主要用到的是cv2.putText()方法,里面共有大概9個參數(shù),介紹如下: image :印有水印的圖片 text :水印的具體文字 org :水印放置的橫縱坐標(biāo),

    2024年02月11日
    瀏覽(16)
  • 隱藏IP地址的三種方法

    隱藏IP地址的三種方法

    隨著互聯(lián)網(wǎng)的不斷發(fā)展,用戶們在日常使用通信設(shè)備請求網(wǎng)站時的風(fēng)險也在不斷增大。因為IP 地址對 Internet 上的每個人都是可見的。根據(jù) IP 地址,其他互聯(lián)網(wǎng)用戶可以跟蹤用戶的定位、用戶使用哪個提供商連接到互聯(lián)網(wǎng)等等。因此許多用戶都在尋求保護(hù)IP地址的方法,接下來

    2024年02月12日
    瀏覽(15)
  • 銀河麒麟(linux 架構(gòu)aarch64) 獲取本機(jī)所有IP地址

    銀河麒麟(linux 架構(gòu)aarch64) 獲取本機(jī)所有IP地址

    環(huán)境: 版本:銀河麒麟桌面操作系統(tǒng)V10(SP1) 內(nèi)核:Linux 5.4.18-35-generic CPU:Phytium,D2000/8 終端輸入 uname -m 查看 架構(gòu) aarch64 在windows 上 和 銀河麒麟(linux loongarch64) 使用下面的代碼獲取IP地址: 銀河麒麟(linux) gethostname 獲取不到IP地址_程序媛zcx的博客-CSDN博客_銀河麒麟查看ip地

    2024年02月11日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包