skip to navigation
skip to content

urlnorm 1.1.2

Normalize a URL to a standard unicode encoding

urlnorm.py

Normalize a URL to a standard unicode representation

urlnorm normalizes a URL by:

  • lowercasing the scheme and hostname
  • converting the hostname to IDN format
  • taking out default port if present (e.g., http://www.foo.com:80/)
  • collapsing the path (./, ../, //, etc)
  • removing the last character in the hostname if it is '.'
  • unescaping any percent escape sequences (where possible)
  • upercase percent escape (ie: %3f => %3F)
  • converts spaces to %20
  • converts ip encoded as an integer to dotted quad notation

Installation

pip install -U urlnorm

or to install from source

pip install -e git://github.com/jehiah/urlnorm.git#egg=urlnorm

Examples

>>> import urlnorm
>>> urlnorm.norm("http://xn--q-bga.com./u/u/../%72/l/")
u'http://q\xe9.com/u/r/l/'