首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python查找网络(外部) IP地址

问使用Python查找网络(外部) IP地址
EN

Stack Overflow用户
提问于 2014-07-01 11:06:12
回答 6查看 25.7K关注 0票数 16

我想知道我的互联网提供商(外部) IP地址(宽带或其他)与Python。

有多台机器连接到那个网络。我尝试了不同的方式,但我只有本地和公共IP我的机器。如何通过Python找到我的外部IP地址?

提前谢谢。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2014-07-01 11:24:36

使用以下脚本:

代码语言:javascript
复制
import urllib, json

data = json.loads(urllib.urlopen("http://ip.jsontest.com/").read())
print data["ip"]

没有json:

代码语言:javascript
复制
import urllib, re

data = re.search('"([0-9.]*)"', urllib.urlopen("http://ip.jsontest.com/").read()).group(1)
print data

另一种方法是解析ifconfig (= linux)或ipconfig (= windows)命令,但要小心翻译的Windows系统(ipconfig被翻译了)。

linux示例:ifparser解析器。

票数 19
EN

Stack Overflow用户

发布于 2016-05-02 14:05:51

安全选项(有https支持)

代码语言:javascript
复制
from requests import get

get('https://ipapi.co/ip/').text

完全JSON反应

P.S. requests模块方便了https的支持。不过,你可以试试httplib。

票数 14
EN

Stack Overflow用户

发布于 2014-07-01 11:28:34

您必须使用您信任的外部源。Python2.x:

代码语言:javascript
复制
from urllib import urlopen
import json
url = 'http://api.hostip.info/get_json.php'
info = json.loads(urlopen(url).read())
print(info['ip'])

如果您想要更多的信息,您可以从info打印更多的值。

非蟒蛇:

代码语言:javascript
复制
wget -q -O- icanhazip.com
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24508730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档