网站首页 语言 会计 互联网计算机 医学 学历 职场 文艺体育 范文
当前位置:学识谷 > 计算机 > php语言

Python获取IP地址的三种方法

栏目: php语言 / 发布于: / 人气:1.38W

导语:在python中获取IP地址的方法很简单,我们只和gethostbyname和gethostbyname_ex两个函数可以实现了,当然也可以利用公网api来实现。

Python获取IP地址的三种方法

使用拨号上网的'话,一般都有一个本地ip和一个外网ip,使用python可以很容易的得到这两个ip

使用gethostbyname和gethostbyname_ex两个函数可以实现

  代码如下

import socket

localIP = ostbyname(ostname())#这个得到本地ip

print "local ip:%s "%localIP

ipList = ostbyname_ex(ostname())

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=et(_INET, _DGRAM)

return _ntoa(l(no(), 0X8915, (‘256s’, ethname[:15]))[20:24])

if __name__==’__main__’:

print getip(‘eth0’)

  方法二,公网地址直接获取IP

  代码如下

#!/usr/bin/env python

import re,urllib2

class Get_public_ip:

def getip(self):

try:

myip = t("")

except:

try:

myip = t("")

except:

myip = "So sorry!!!"

return myip

def visit(self,url):

opener = pen(url)

if url == rl():

str = ()

return ch('d+.d+.d+.d+',str)p(0)

if __name__ == "__main__":

getmyip = Get_public_ip()

print p()