亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

php語言

Python獲取IP地址的三種方法

時間:2024-09-29 04:50:48 php語言 我要投稿
  • 相關(guān)推薦

Python獲取IP地址的三種方法

  Python由荷蘭數(shù)學(xué)和計算機科學(xué)研究學(xué)會的吉多·范羅蘇設(shè)計,Python提供了高效的高級數(shù)據(jù)結(jié)構(gòu),還能簡單有效地面向?qū)ο缶幊,以下是小編為大家整理的Python獲取IP地址的三種方法,希望對你有所幫助!

  使用撥號上網(wǎng)的話,一般都有一個本地ip和一個外網(wǎng)ip,使用python可以很容易的得到這兩個ip

  使用gethostbyname和gethostbyname_ex兩個函數(shù)可以實現(xiàn)

  代碼如下

  import socket

  localIP = socket.gethostbyname(socket.gethostname())#這個得到本地ip

  print "local ip:%s "%localIP

  ipList = socket.gethostbyname_ex(socket.gethostname())

  for i in ipList:

  if i != localIP:

  print "external IP:%s"%i

  獲取本地IP地址

  代碼如下

  #!/usr/bin/python

  import socket

  import struct

  import fcntl

  def getip(ethname):

  s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

  return socket.inet_ntoa(fcntl.ioctl(s.fileno(), 0X8915, struct.pack(‘256s’, ethname[:15]))[20:24])

  if __name__==’__main__’:

  print getip(‘eth0’)

  方法二,公網(wǎng)地址直接獲取IP

  代碼如下

  #!/usr/bin/env python

  import re,urllib2

  class Get_public_ip:

  def getip(self):

  try:

  myip = self.visit("http://www.111cn.net/")

  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()

  【拓展內(nèi)容】

  Python和JavaScript語言轉(zhuǎn)換的常用工具

  Transcrypt

  這是一款新近崛起的 Python 到 JS 轉(zhuǎn)譯器。Transcrypt 對于自身所生成代碼的質(zhì)量水平做出了令人印象深刻的承諾。首先,它會盡可能多地保留原始的 Python 代碼結(jié)構(gòu),包括多重繼承以及 lambda 表達(dá)式。Python 源代碼也可以直接對 JavaScript 中命名空間內(nèi)的對象進(jìn)行調(diào)用。如果大家嘗試訪問 Python 中的 document.getElementById,則轉(zhuǎn)換后的代碼也將在JavaScript 當(dāng)中切換使用 document.getElementById。

  根據(jù)說明文檔的介紹,Transcrypt 是利用 CPython 的抽象語法樹模塊完成這些轉(zhuǎn)譯任務(wù)的,其能夠根據(jù) Python 對自身代碼的解析方式進(jìn)行編程訪問。盡管該項目目前仍處于 alpha 測試階段,但已經(jīng)顯示出了非常驚人的吸引力。

  Jiphy

  所謂 Jiphy,代表的是“JavaScript 入,Python 出”——也就是能夠?qū)Χ哌M(jìn)行雙向轉(zhuǎn)換。另外,來自兩種語言的代碼都能夠在被轉(zhuǎn)換為另一種語言之前進(jìn)行混合。

  Jiphy 目前的最大短板在于其僅支持 Python 的一部分功能集。類以及默認(rèn)參數(shù)尚不受支持,不過裝飾器與例外機制已經(jīng)可以正常使用。這主要是因為 Jiphy 堅持在源代碼與目標(biāo)代碼之間采用行對行直接轉(zhuǎn)譯方式,不過其開發(fā)人員也開始著眼于 ES6 中的新功能,旨在將更多高級 Python 功能納入支持范疇。

  Brython

  也許有一天,當(dāng) WebAssembly 設(shè)想成為現(xiàn)實,那么我們將能夠選擇任何自己偏好的語言進(jìn)行 Web 開發(fā)。而 Brython 對此——或者說至少適用于 Python 3——有著自己的理解:為什么要等?

  Brython 通過一套 JavaScript 庫對 Python 3 中的全部關(guān)鍵字以及大多數(shù)內(nèi)置插件進(jìn)行模擬,從而實現(xiàn)了將 Python 3 版本作為客戶端 Web 編程方案的目標(biāo)。由 Python 編寫的腳本可以被直接添加到網(wǎng)絡(luò)頁面當(dāng)中,而 Brython 還支持一套高級 Python模塊界面(browser),用于同 DOM 進(jìn)行執(zhí)行協(xié)作,且該瀏覽器通?稍 JavaScript 中直接完成。

  然而,Brython 也保持了瀏覽器給 JavaScript 代碼帶來的限制——例如不支持對本地文件系統(tǒng)進(jìn)行處理。

  RapydScript

  RapydScript 承諾“讓 Python 式 JavaScript 代碼不再糟糕。”該項目在概念上類似于 CoffeeScript:以 Python 形式進(jìn)行代碼編寫,生成 JavaScript 代碼,并同時發(fā)揮二者的最佳特性。在 Python 方面,其擁有清晰的語法規(guī)則; 而在 JavaScript 方面,其擁有匿名函數(shù)、DOM 操作并能夠使用 jQuery 或者 Node.js 內(nèi)核等現(xiàn)有 JavaScript 庫。

【Python獲取IP地址的三種方法】相關(guān)文章:

電腦如何自動獲取ip地址06-02

查看路由器IP地址方法07-01

win10查看本機電腦IP地址方法07-25

php如何獲得ip地址09-06

ip地址如何修改呢08-23

IP地址計算和子網(wǎng)劃分06-21

Python中下劃線的方法07-06

小米路由器怎么設(shè)置IP地址07-11

ip地址與網(wǎng)絡(luò)其他系統(tǒng)沖突怎么解決01-13

局域網(wǎng)上如何控制IP地址盜用07-23