2016-06-17 16 views
-3

Ich bin auf der Suche nach einem Modul oder einer Prozedur zum Herunterladen einer http-Datei mit Python 3, ohne Verwendung von urllib, urllib2 oder urllib3 und ohne Verwendung externer Bibliotheken.Alternativen zu Urllib in Python

+3

Zuerst ... Warum? Welchen Grund können Sie haben, wenn Sie die eingebauten Klassen nicht benutzen wollen, während Sie sich weigern, eine Bibliothek zu benutzen? Sie setzen sich entweder mit schlechten Annahmen in die Ecke oder schießen sich absichtlich in den Fuß. Die einfachste Bibliothek (IMHO) ist [Anfragen] (http://docs.python-requests.org/en/master/). Andernfalls können Sie eine [Socket] (https://docs.python.org/2/library/socket.html) öffnen und Bytes selbst senden/empfangen, aber es ist komplex, erfordert ein tiefgreifendes Verständnis des HTTP-Protokolls, hat eine viele Randfälle und ist sinnlos, es sei denn, es gibt einen guten Grund. – Basic

+0

Der erste Gedanke war die Requests-Bibliothek, aber Sie haben gesagt, dass es keine externe Bibliothek sein kann ... vielleicht müssen Sie dann Code aus solchen Projekten kopieren und einfügen (denke, das wird nicht einfach). – mdxs

+0

@mdxs Yeah, ich bin gerade dorthin gesprungen – Basic

Antwort

1

Anfragen ist ziemlich Standard-3rd-Party-lib, aber wenn Sie nicht wollen, externe, können Sie etwas niedrigere Ebene wie http.client verwenden. Es ist jedoch weniger praktisch als urllib, also warum nicht das oder Anfragen überhaupt?

+0

Wahrscheinlich passt die Einschränkungen, während es ein wenig mehr Leichtigkeit/höhere Ebene Ansatz bietet, als die TCP-Ansatz wie von @Basic vorgeschlagen – mdxs