Frage

Kennt jemand eine Bibliothek für „broken“ Urls zu befestigen. Wenn ich versuche, eine URL zu öffnen, wie

http://www.domain.com/../page.html
http://www.domain.com//page.html
http://www.domain.com/page.html#stuff

urllib2.urlopen würgt und gibt mir eine httperror Zurückverfolgungs. Kennt jemand eine Bibliothek, die diese Art von Dingen beheben?

War es hilfreich?

Lösung

Siehe auch diese Frage .

Andere Tipps

Was ist so etwas wie ...:

import re
import urlparse

urls = '''
http://www.domain.com/../page.html
http://www.domain.com//page.html
http://www.domain.com/page.html#stuff
'''.split()

def main():
  for u in urls:
    pieces = list(urlparse.urlparse(u))
    pieces[2] = re.sub(r'^[./]*', '/', pieces[2])
    pieces[-1] = ''
    print urlparse.urlunparse(pieces)

main()

es aussendet, wie Sie es wünschen:

http://www.domain.com/page.html
http://www.domain.com/page.html
http://www.domain.com/page.html

und scheint auf etwa Ihren Anforderungen entsprechen, wenn ich sie richtig verstanden habe.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top