Разбор IP-адреса и порта в Python ⇐ Python

Программы на Python
Anonymous
Разбор IP-адреса и порта в Python

Сообщение Anonymous »

Используя Python, я хотел бы выполнить две вещи:
  • Необходимо разделить комбинацию адреса и порта ipv6 в формате [fec2 ::10]:80 до fec2::10 и 80.
  • Учитывая комбинацию IP-адреса и порта, мне нужно определить, IP — это адрес v4 или v6. Например: 1.2.3.4:80 и [fec2::10]:80
Пожалуйста, предложите способ сделать это. .
Спасибо!
Пример кода:

Код: Выделить всё

#!/usr/bin/env python

def main():
server = "[fec1::1]:80"
if server.find("[", 0, 2) == -1:
print "IPv4"
ip, port = server.split(':')
else:
print "IPv6"
new_ip, port = server.rsplit(':', 1)
print new_ip
ip = new_ip.strip('[]')

print ip
print port

if __name__ == '__main__':
main()
Это работает во всех случаях, кроме случаев, когда вход указан без порта. Например: 10.78.49.50 и [fec2::10]
Есть предложения по решению этой проблемы?

Подробнее здесь: https://stackoverflow.com/questions/219 ... -in-python

Вернуться в «Python»