Анализ имени хоста и порта из строки или URL-адреса

Мне может быть дана строка в любом из эти форматы:

  • URL: например, http://www.acme.com:456

  • строка: например, www.acme.com:456, www.acme.com 456 или www.acme.com

Я хотел бы извлечь хост и порт, если он есть. Если значение порта не указано, я бы хотел, чтобы оно по умолчанию было 80.

Я пробовал urlparse , который отлично работает для URL-адреса, но не для другого формата. Например, когда я использую urlparse для hostname: port, он помещает в схему имя хоста, а не netloc.

Я был бы доволен решением, использующим urlparse и регулярное выражение, или одно регулярное выражение, которое могло бы обрабатывать оба формата.

21
задан TonyM 2 March 2012 в 10:08
поделиться