一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

[經(jīng)驗]Python獲取本機(jī)IP(外網(wǎng)IP)的方法總結(jié)

 MikeDoc 2012-05-11
今天碰到這個問題,用Python獲得本地IP地址,首先想到用socket.gethostbyname,代碼如下:
程序代碼:
import socket
ip = socket.gethostbyname(socket.gethostname())
print ip

可惜這樣并不完美,特別如果是ADSL撥號或者局域網(wǎng)上網(wǎng)會得到192.168.*.*這種內(nèi)部IP。


好像Linux下面可以用:
程序代碼:
import socket
import fcntl
import struct
def get_ip_address(ifname):
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    return socket.inet_ntoa(fcntl.ioctl(
        s.fileno(),
        0x8915,  # SIOCGIFADDR
        struct.pack('256s', ifname[:15])
    )[20:24])
print get_ip_address('lo')
print get_ip_address('eth0')
具體沒試過,我主要寫的是windows下面的應(yīng)用,只能另尋他法。


找到一種windows和Linux下面通用的方法:
程序代碼:
import re,urllib2
print re.search('\d+\.\d+\.\d+\.\d+',urllib2.urlopen("http://www.").read()).group(0)
感覺有點山寨,訪問專門顯示自己IP的網(wǎng)站,然后采集它的內(nèi)容,用正則分析提取出IP地址的字符串。
這樣有個問題,如果訪問的網(wǎng)站掛掉了,這程序就失靈了。


完美解決方案:
程序代碼:
import re,urllib2
class Getmyip:
    def getip(self):
        try:
            myip = self.visit("http://www.ip138.com/ip2city.asp")
        except:
            try:
                myip = self.visit("http://www./ip.phtml")
            except:
                try:
                    myip = self.visit("http://www./")
                except:
                    myip = "So sorry!!!"
        return myip
    def visit(self,url):
        opener = urllib2.urlopen(url)
        if url == opener.geturl():
            str = opener.read()
        return re.search('\d+\.\d+\.\d+\.\d+',str).group(0)
getmyip = Getmyip()
localip = getmyip.getip()
print localip
用try嘗試第一個網(wǎng)站,如果掛掉了繼續(xù)嘗試第二個,如果第二個也掛掉了就嘗試第三個,總不能三個網(wǎng)站同時掛掉

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产免费观看一区二区| 日本女优一区二区三区免费| 日韩午夜福利高清在线观看| 精品日韩中文字幕视频在线| 在线观看免费视频你懂的| 欧美一级黄片欧美精品| 色无极东京热男人的天堂| 在线观看国产午夜福利| 午夜精品久久久99热连载| 香港国产三级久久精品三级| 色丁香之五月婷婷开心| 狠色婷婷久久一区二区三区| 欧美一级黄片欧美精品| 日本成人三级在线播放| 日本理论片午夜在线观看| 九九热这里有精品20| 欧美综合色婷婷欧美激情| 日韩av欧美中文字幕| 中文字幕日产乱码一区二区| 欧美自拍系列精品在线| 搡老熟女老女人一区二区| 亚洲精品一二三区不卡| 中日韩美一级特黄大片| 亚洲精品黄色片中文字幕| 一区二区三区日韩经典| 老外那个很粗大做起来很爽| 日韩欧美一区二区黄色| 日本av在线不卡一区| 亚洲男人的天堂色偷偷| 亚洲天堂一区在线播放| 国产精品亚洲一级av第二区| 亚洲少妇人妻一区二区| 久久青青草原中文字幕| 熟妇人妻av中文字幕老熟妇| 欧美一本在线免费观看| 亚洲中文字幕视频在线播放| 国产日韩精品激情在线观看| 99国产成人免费一区二区| 91免费一区二区三区| 国产盗摄精品一区二区视频| 日韩中文字幕在线不卡一区|