版權(quán)聲明:轉(zhuǎn)載請注明作者(獨(dú)孤尚良dugushangliang)出處: https://blog.csdn.net/dugushangliang/article/details/90021409
?
先說說查看本機(jī)ip的方法:
可以直接通過搜索引擎搜索ip,得到的是公網(wǎng)ip,你是用這個ip上網(wǎng)的,即和互聯(lián)網(wǎng)交互的。
但奇怪的是,有的是180開頭有的是218開頭。這個有些奇怪。鄙人水平不足,先存疑待考吧。
本機(jī)是通過路由器聯(lián)網(wǎng)的,不是直接通過撥號連接互聯(lián)網(wǎng)的,所以本機(jī)有局域網(wǎng)的ip,即路由器分配給本機(jī)的ip。
局域網(wǎng)ip如何查看呢?cmd打開,輸入ipconfig,執(zhí)行即可查看。
為什么有三個ip呢?因為前兩個是虛擬機(jī)的,因為本機(jī)有安裝虛擬機(jī)所以不止一個ip,我們本機(jī)的ip就是“無線局域網(wǎng)適配器 WLAN”的ip——192.168.1.2。
那么怎么通過python獲取到這個ip地址呢?
找了好久的帖子,也遇到了不少的長篇大論。但python的宗旨是什么?可以移步這里看:https://www.hocoding.com/p/504.html,下面是其中的一句:
這就好比國粹所言:頃刻間千秋事業(yè),方寸地萬里江山;三五步行遍天下,六七人百萬雄兵。
這么簡單的事情,弄很長的代碼,也太掃興了。尋尋覓覓,踏破鐵鞋,結(jié)果如下:
附注:本機(jī)windows系統(tǒng),python3環(huán)境。
參考1:https://www.cnblogs.com/xcfree/p/5045415.html
import socket
print(socket.gethostbyname(socket.gethostname()))
其結(jié)果如下:
顯然不是我們想要的。沒裝虛擬機(jī)的也許這里就得到了正確答案。
參考2:https://www.cnblogs.com/chenjingyi/p/5741742.html
import socket
myname = socket.getfqdn(socket.gethostname( ))
myaddr = socket.gethostbyname(myname)
print(myname,myaddr)
其結(jié)果如下:
這個和第一個一樣。
參考3:https://blog.51cto.com/laobaiv1/1956093
import socket
hostname = socket.gethostname()
print ( "Host name: %s" %hostname)
sysinfo = socket.gethostbyname_ex(hostname)
ip_addr = sysinfo[2]
for ip in ip_addr:
print(ip)
其結(jié)果如下:
這個得到了我們想要的ip。
因為每臺機(jī)器的情況不同,如本機(jī)聯(lián)網(wǎng)方式、本機(jī)是否虛擬機(jī)、本機(jī)是否有安裝虛擬機(jī)等,ip的獲取得因地制宜。
?
獨(dú)孤尚良dugushangliang——著
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
