Что я сделал до сих пор, используя классы PyQt:
all_Addresses = QNetworkInterface.allAddresses() #list-of-QHostAddress
for addr in all_Addresses:
print(addr.toString())
Вывод:
172.16.0.186 - Virtual Interface IP address
192.168.10.2 - Physical interface IP address. I want this one.
127.0.0.1
Использование socket
:
import socket
print(socket.gethostbyname(socket.gethostname()))
Вывод:
172.16.0.186 - When openVPN is on
192.168.10.2 - When its off
- Есть ли способ различать их?
- Можно ли это сделать с обычным Python, вместо использования классов PyQt?
- Как я могу получить адрес IPv6?