urllib3

Screenshot der Software:
urllib3
Softwarebeschreibung:
Version: 1.5
Upload-Datum: 20 Feb 15
Entwickler: Andrey Petrov
Lizenz: Frei
Popularität: 2

Rating: nan/5 (Total Votes: 0)

urllib3 ist ein Python HTTP-Bibliothek mit Thread-sichere Verbindungs-Pooling und Datei nach Unterstützung.
Highlights:
& Nbsp; * Re-verwenden die gleiche Socket-Verbindung für mehrere Anfragen (HTTPConnectionPool)
& Nbsp; * File Buchung (encode_multipart_formdata)
& Nbsp; * Built-in-Umleitung und Wiederholungen (optional)
& Nbsp; * Thread-sicher
Was ist los mit urllib und urllib2?
Es gibt zwei wichtige Funktionen fehlen in der Python-Standardbibliothek: Anschluss Wiederverwendung / Pooling und Dateianzeige überprüfen können. Es ist nicht besonders schwer, diese selbst implementieren, aber es ist viel einfacher, ein Modul, das bereits hat die Arbeit für Sie.
Die Python-Standardbibliotheken urllib und urllib2 haben wenig miteinander zu tun haben. Sie wurden entwickelt, unabhängige und eigenständige sein, die jeweils einen unterschiedlichen Umfang der Probleme zu lösen, und urllib3 folgt in eine ähnliche Richtung.
Warum will ich, um Verbindungen wiederverwenden?
Leistung. Wenn Sie in der Regel eine urllib Anruf zu tun, ist eine separate Socketverbindung mit jeder Anforderung erstellt. Durch die Wiederverwendung von vorhandenen Steckdosen (da HTTP 1.1 unterstützt wird), werden die Anfragen auf der Seite des Servers benötigen weniger Ressourcen und auch eine schnellere Reaktionszeit am Ende des Kunden. Mit einigen einfachen Benchmarks (siehe Test / benchmark.py), das Herunterladen von 15 URLs aus google.com ist etwa doppelt so schnell bei der Verwendung HTTPConnectionPool (die 1-Verbindung verwendet) als die Verwendung von Klar urllib (die 15 Verbindungen verwendet).
Diese Bibliothek ist ideal für:
& Nbsp; * Im Gespräch mit einem API
& Nbsp; * Crawling eine Website
& Nbsp; * Jede Situation, in der Lage, Dateien zu schreiben, hand Umleitung und erneuten Versuch sinnvoll ist. Es ist relativ leicht, so dass es für alles verwendet werden!
Beispiele:
Zum Beispiel, dem Wiki für weitere nette Syntax-Highlighting Beispiele.
Aber, es kurz:
von urllib3 Import HTTPConnectionPool
API_URL = 'http://ajax.googleapis.com/ajax/services/search/web'
http_pool = HTTPConnectionPool.from_url (API_URL)
Felder = {'v': '1.0', 'q': 'urllib3'}
r = http_pool.get_url (API_URL, Felder)
Druck r.status, r.data

Was ist neu in dieser Pressemitteilung:

  • Hinzugefügt urllib3.add_stderr_logger () für die schnelle ermöglicht STDERR Debugprotokollierung in urllib3.
  • Native vollständige URL Parsing (einschließlich auth, Weg, Abfrage-Fragment) in urllib3.util.parse_url (url).
  • Integrierte Umleitung wird Methode wechseln zu "GET", wenn Statuscode 303 (Ausgabe 11)
  • urllib3.PoolManager streift das System und Host vor dem Absenden der Anfrage URI. (Ausgabe # 8)
  • New urllib3.exceptions.DecodeError Ausnahme, wenn die automatische Dekodierung, basierend auf dem Content-Type-Header, scheitert.
  • Fixed bug mit Pool Erschöpfung und undichte Anschlüsse (Ausgabe # 76). Hinzugefügt explizite Verbindung schloss am Pool Räumung. Added urllib3.PoolManager.clear ().
  • 99% - & gt; 100% Einheit Testabdeckung.

Was ist neu in der Version 1.4:.

  • Minor appengine relevante Updates
  • aus mimetools.choose_boundary Switched zu uuid.uuid4 ().
  • Verbesserte URL-Analyse. (Ausgabe # 73)
  • IPv6 url Unterstützung. (Ausgabe # 72)

Was ist neu in der Version 1.3:.

  • Entfernt pre-1.0 veraltet API
  • Refactoring Helfer in eine urllib3.util Submodul.
  • Feste mehrteilige Codierung unterstützt list-of-Tupel für Schlüssel mit mehreren Werten. (Ausgabe # 48)
  • Feste mehrere Set-Cookie-Header in Reaktion nicht immer richtig in Python 3 zusammengeführt (Ausgabe # 53)
  • App Engine-Unterstützung mit Py27. (Ausgabe # 61)
  • Minor encode_multipart_formdata Fixes für Python bezogenen 3 Strings vs Bytes.

Was ist neu in Version 1.2.2:

  • Mit fester Verpackung Bug verstößt, nicht Test-Anforderungen. txt. (Ausgabe # 47)

Was ist neu in Version 1.2.1:

  • Feste wurde ein Bug im Zusammenhang, wenn ssl-Modul ist nicht vorhanden sind. (Ausgabe # 41)
  • Ort Parsingfehler jetzt erhöhen urllib3.exceptions.LocationParseError die von Valueerror erbt.

Was ist neu in der Version 1.2:

  • hinzugekommen Python 3-Unterstützung (auf 3.2.2 getestet)
  • Dropped Python 2.5-Unterstützung (auf 2.6.7 getestet, 2.7.2)
  • Verwenden select.poll statt select.select für Plattformen, die es zu unterstützen.
  • Verwenden Queue.LifoQueue statt Queue.Queue für aggressivere Verbindung Wiederverwendung. Konfigurierbare durch zwingende ConnectionPool.QueueCls.
  • Feste Importerror während der Installation, wenn ssl-Modul ist nicht verfügbar. (Ausgabe # 41)
  • Feste Poolmanager leitet zwischen den Systemen (wie zB HTTP - & gt; HTTPS) nicht richtig abgeschlossen. (Ausgabe # 28, von Ausgabe # 10 in v1.1 unbedeckt)
  • Ported dummyserver zu Tornado statt WebOb + eventlet verwenden. Entfernt Fremd unterstützte dummyserver Tests Backends. Hinzugefügt Socket-Level-Tests.
  • Weitere Tests. Leistung freigesetzt:. 99% Coverage

Was ist neu in der Version 1.1:

  • dummyserver eigene Stammnamespace-Modul Refactoring (zum Testen verwendet ).
  • Hinzugefügt Hostnamen Prüfung für VerifiedHTTPSConnection von vendoring in Py32 der ssl_match_hostname. (Ausgabe # 25)
  • Feste Quer Host HTTP-Weiterleitungen bei der Verwendung von Poolmanager. (Ausgabe # 10)
  • Feste decode_content ignoriert, wenn durch urlopen gesetzt. (Ausgabe # 27)
  • Feste Timeout bezogene Fehler. (Fragen # 17, # 23)

Was ist neu in Version 1.0.2:

  • Tippfehler im VerifiedHTTPSConnection das würde nur als ein Geschenk Fehler, wenn Sie manuell über das Objekt sind. (Danke pyos)
  • Hergestellt RecentlyUsedContainer (und damit Poolmanager) mehr thread-sicher durch Umwickeln Sie das Zugriffsprotokoll in einer Mutex. (Dankechrister)
  • Hergestellt RecentlyUsedContainer mehr dict-like (korrigiert __delitem__ und __getitem__ Verhalten), mit Tests. Sollte keinen Einfluss auf Kern urllib3 Code.

Was ist neu in Version 1.0.1:

  • Ein Fehler, durch die gleiche Verbindung würde wieder gehen Feste in den Pool zwei Mal, wodurch Fremd & quot; & quot HttpConnectionPool voll ist; log Warnungen.

Anforderungen :

  • Python

Andere Software von Entwickler Andrey Petrov

urllib3
urllib3

12 May 15

Kommentare zu urllib3

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!