我试图用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我怎么才能解决呢?
发布于 2022-01-20 14:54:00
那是因为pystun已经过时了。pystun不支持最近版本的python。相反,安装pystun3
pip uninstall pystun # uninstall already installed pystun module
pip install pystun3import 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://stackoverflow.com/questions/70788249
复制相似问题