麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > Python > 正文

Linux下Python獲取IP地址的代碼

2020-02-23 06:16:25
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

《lnmp一鍵安裝包》中需要獲取ip地址,有2種情況:如果服務(wù)器只有私網(wǎng)地址沒(méi)有公網(wǎng)地址,這個(gè)時(shí)候獲取的IP(即私網(wǎng)地址)不能用來(lái)判斷服務(wù)器的位置,于是取其網(wǎng)關(guān)地址用來(lái)判斷服務(wù)器在國(guó)內(nèi)還是國(guó)外(腳本為了使國(guó)內(nèi)用戶快速下載,yum源自動(dòng)設(shè)置成163,這個(gè)情況就需要獲取網(wǎng)關(guān)地址);如果服務(wù)器有公網(wǎng)地址,這時(shí)獲取的IP地址可用來(lái)直接判斷服務(wù)器地理位置。

獲取服務(wù)器IP,如果有公網(wǎng)地址就取公網(wǎng)地址,沒(méi)有公網(wǎng)地址就取私網(wǎng)網(wǎng)址
下面是之前我用shell來(lái)獲取本地IP腳本:

IP=`ifconfig | grep 'inet addr:' | cut -d: -f2 | grep -v ^10/. | grep -v ^192/.168 | grep -v ^172/. | /grep -v ^127/. | awk '{print $1}' | awk '{print;exit}'` [ ! -n "$IP" ] && IP=`ifconfig | grep 'inet addr:' | cut -d: -f2 | grep -v ^127/. | /awk '{print $1}' | awk '{print;exit}'`

Python版:get_local_ip.py:

#!/usr/bin/env pythonimport socketdef Get_local_ip(): """ Returns the actual ip of the local machine. This code figures out what source address would be used if some traffic were to be sent out to some well known address on the Internet. In this case, a Google DNS server is used, but the specific address does not matter much. No traffic is actually sent. """ try:  csock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)  csock.connect(('8.8.8.8', 80))  (addr, port) = csock.getsockname()  csock.close()  return addr except socket.error:  return "127.0.0.1" if __name__ == "__main__": local_IP = Get_local_ip()  print local_IP

有公網(wǎng)地址直接獲取,沒(méi)有公網(wǎng)地址就獲取網(wǎng)關(guān)地址(用于判斷IP地址的地理位置):get_public_ip.py

#!/usr/bin/env pythonimport re,urllib2class Get_public_ip: def getip(self):  try:   myip = self.visit("http://www.whereismyip.com/")  except:   try:    myip = self.visit("http://www.ip138.com/ip2city.asp")   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) if __name__ == "__main__": getmyip = Get_public_ip() print getmyip.getip()

判斷服務(wù)器IP地理位置: get_ip_area.py

#!/usr/bin/env python#coding:utf-8try: import sys,urllib2,json apiurl = "http://ip.taobao.com/service/getIpInfo.php?ip=%s" % sys.argv[1]  content = urllib2.urlopen(apiurl).read() data = json.loads(content)['data'] code = json.loads(content)['code'] if code == 0:  print data['country_id'] else:  print dataexcept: print "Usage:%s IP" % sys.argv[0]
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄网站免费观看视频 | 国产寡妇xxxxxxxx性开放 | 久久国产一二区 | 欧美激情视频一区二区免费 | 狠狠操精品视频 | 一区二区久久电影 | 国产在线中文 | 91精品国产综合久久久动漫日韩 | 欧美伦理一区二区 | 色婷婷久久一区二区 | 久久久久久久久久亚洲 | 麻豆蜜桃在线观看 | 免费看一级片 | 日韩视频―中文字幕 | 老子午夜影院 | 天天色综合6 | 成人性视频在线 | 欧美日韩在线播放一区 | 国产系列 视频二区 | 在线免费观看精品 | 国产精品久久久久久久娇妻 | 国产一级在线观看视频 | 国内性爱视频 | 激情久久免费视频 | 在线成人免费观看 | 亚洲精品成人18久久久久 | 一级黄片毛片免费看 | 精品一区在线视频 | 日韩精品中文字幕一区二区三区 | 一区二区网| 性看小视频 | 福利一区二区三区视频在线观看 | 最新se94se在线欧美 | 欧美日韩亚州综合 | 欧美日韩中文字幕在线视频 | av电影在线观看网址 | 国产精品av久久久久久久久久 | 久久蜜桃香蕉精品一区二区三区 | 精品国产乱码久久久久久久 | 黄色美女免费 | 欧美特一级片 |