获取外部IP地址的实用程序

ipgetter2的Python项目详细描述


https://img.shields.io/pypi/v/ipgetter2.svghttps://travis-ci.org/starofrainnight/ipgetter2.svg?branch=masterhttps://ci.appveyor.com/api/projects/status/github/starofrainnight/ipgetter2?svg=true

获取外部IP地址的实用程序。

此模块旨在从Internet获取外部IP地址。

它主要用于NAT之后。

它从服务器列表中随机选择您的IP,以最小化单个服务器上的请求开销

注意:这个库试图替代ipgetter库,因为那个库已经在pypi.org和github上消失了。

为什么还有另一个ipgetter库?

我发现伊普盖特在2019年5月11日晚上失踪了。我不知道它什么时候消失了,也不知道发生了什么。

所以我用同样的api接口为我的项目编写了这个库,希望它能帮助遇到同样情况的人。

功能

  • 通过chardet正确检测网页编码
  • 通过库控制超时请求而不是通过信号报警(报警信号将导致问题)
  • 智能服务器获取算法,get()方法将在3个随机服务器中获取至少2个具有相同值的IP(只返回一个有效IP,不检查是否只有一个服务器响应)
  • 也支持IPv6(如果服务器提供了两个值,则返回这两个值)

用法

  • ipgetter2用法
>>> from ipgetter2 import IPGetter
>>> getter = IPGetter()
>>> getter.get()
{v4:"8.8.8.8", v6:"::"}
>>> getter.get_from("http://checkip.dyndns.org/plain")
{v4:"8.8.8.8", v6:"::"}
>>> getter.test()
Numbers of Servers : 46
[1/46] Testing : http://ip.dnsexit.com
[2/46] Testing : http://ifconfig.me/ip
[3/46] Testing : http://ipecho.net/plain
......
[45/46] Testing : http://httpbin.org/ip
[46/46] Testing : https://api.myip.com
8 server failed : ['http://checkip.dyndns.org/plain', 'http://www.canyouseeme.org/', 'http://whatsmyip.net/', 'http://www.ip-adress.com/', 'http://ip-lookup.net/', 'https://check.torproject.org/', 'https://www.privateinternetaccess.com/pages/whats-my-ip/', 'http://myexternalip.com/']
{IPAddress(v4="117.117.117.117", v6="::"): 26, IPAddress(v4="0.0.0.0", v6="::"): 11, IPAddress(v4="117.117.117.116", v6="::"): 1}
IP's : {v4:"117.117.117.117", v6:"::"} = 26 ocurrencies
  • ipgetter库的模拟api接口
>>> from ipgetter2 import ipgetter1 as ipgetter
>>> myip = ipgetter.myip()
>>> myip
'8.8.8.8'
>>> ipgetter.IPgetter().test()
Number of servers: 47
IP's :
8.8.8.8 = 47 ocurrencies

学分

这个包是用CookiecutterPyPackageTemplate项目模板创建的。

历史

1.1.9(2019-08-26)

  • 修复了不使用python 3.5.x的问题
  • 修复了在Windows上失败的测试

1.1.7(2019-05-25)

  • 增加了更多服务器,主要来自中国

1.1.5(2019-05-25)

  • 通过threading.thread加速get(),同时发送请求

1.1.1(2019-05-22)

  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
junit cucumber为什么会找到“runTest.java”来运行测试?   在Eclipse中找不到java KeyPairGenerator   java NotSerializableException即使在实现Serializable之后   noclassdeffounderror(java字符串连接)为什么会出现这种异常?   java Guice:将接口绑定到由动态代理创建的实例   使用Spring数据neo4j创建空间索引时发生java错误   java对于需要在50多个excel文件上运行并且每个文件平均包含25k行的项目,最佳的方法是什么   javaNIO中的java缓冲区写入/发送消息问题   如何在Java/eclipse中添加不调用super()的警告   JavaSpring:mvcUrl映射错误的id   java应该在getInstance或构造函数中使用Init方法吗?   安卓中的java空指针异常错误   java Jsoup不能完全获取原始html代码