使用 Python 获取眩晕信息
Get Stun info with Python
我试图通过 Python
获取外部 IP 和端口
我使用:pip install pystun
import stun
stun.get_ip_info()
但是我得到了错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.8/dist-packages/stun/__init__.py", line 252, in get_ip_info
nat_type, nat = get_nat_type(s, source_ip, source_port,
File "/usr/local/lib/python3.8/dist-packages/stun/__init__.py", line 186, in get_nat_type
_initialize()
File "/usr/local/lib/python3.8/dist-packages/stun/__init__.py", line 93, in _initialize
dictValToAttr.update({items[i][1]: items[i][0]})
TypeError: 'dict_items' object is not subscriptable
我该如何解决?
那是因为 pystun
已经过时了。 pystun
不支持 python 的最新版本。相反,安装 pystun3
pip uninstall pystun # uninstall already installed pystun module
pip install pystun3
import stun
print(stun.get_ip_info())
#('Symmetric NAT', '111.111.11.111', 1027)
或者,您可以获取您的外网IP地址,如下:
import http.client
conn = http.client.HTTPConnection("ifconfig.me")
conn.request("GET", "/ip")
print(conn.getresponse().read())
有关详细信息,请参阅 https://ru.whosebug.com/questions/133137/
原来的 Pystun 在 Pypi 上没有support Python 3. There is a fork that supports Python 3 which you can install using pip install pystun3
(pystun3。
我试图通过 Python
获取外部 IP 和端口我使用:pip install pystun
import stun
stun.get_ip_info()
但是我得到了错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.8/dist-packages/stun/__init__.py", line 252, in get_ip_info
nat_type, nat = get_nat_type(s, source_ip, source_port,
File "/usr/local/lib/python3.8/dist-packages/stun/__init__.py", line 186, in get_nat_type
_initialize()
File "/usr/local/lib/python3.8/dist-packages/stun/__init__.py", line 93, in _initialize
dictValToAttr.update({items[i][1]: items[i][0]})
TypeError: 'dict_items' object is not subscriptable
我该如何解决?
那是因为 pystun
已经过时了。 pystun
不支持 python 的最新版本。相反,安装 pystun3
pip uninstall pystun # uninstall already installed pystun module
pip install pystun3
import stun
print(stun.get_ip_info())
#('Symmetric NAT', '111.111.11.111', 1027)
或者,您可以获取您的外网IP地址,如下:
import http.client
conn = http.client.HTTPConnection("ifconfig.me")
conn.request("GET", "/ip")
print(conn.getresponse().read())
有关详细信息,请参阅 https://ru.whosebug.com/questions/133137/
原来的 Pystun 在 Pypi 上没有support Python 3. There is a fork that supports Python 3 which you can install using pip install pystun3
(pystun3。