urllib3

Software skärmdump:
urllib3
Mjukvaruinformation:
Version: 1.5
Ladda upp dagen: 20 Feb 15
Utvecklare: Andrey Petrov
Licens: Gratis
Popularitet: 2

Rating: nan/5 (Total Votes: 0)

urllib3 är en Python HTTP-bibliotek med trådsäker anslutningspool och fil inlägget stöd.
Höjdpunkter:
& Nbsp; * Åter använda samma socket anslutning för flera förfrågningar (HTTPConnectionPool)
& Nbsp; * File utstationering (encode_multipart_formdata)
& Nbsp; * Inbyggd omdirigering och försök (tillval)
& Nbsp; * trådsäker
Vad är fel med urllib och urllib2?
Det finns två viktiga funktioner saknas i Python standardbiblioteket: Anslutning återanvända / sammanslagning och fil utstationering. Det är inte så oerhört svårt att genomföra dessa själv, men det är mycket enklare att använda en modul som redan gjort jobbet åt dig.
De Python standardbibliotek urllib och urllib2 har lite att göra med varandra. De var avsedda att vara oberoende och fristående, var och lösa olika omfattning problem, och urllib3 följer på ett liknande sätt.
Varför jag vill återanvända anslutningar?
Performance. När du normalt gör ett urllib samtal, är en separat sockel anslutning skapas med varje förfrågan. Genom att återanvända befintliga uttag (stöds sedan HTTP 1.1), kommer de ansökningar att ta upp mindre resurser på servern slut, och även ge en snabbare responstid på kundens slutet. Med några enkla riktmärken (se test / benchmark.py), ladda ner 15 webbadresser från google.com är ungefär dubbelt så snabb vid användning HTTPConnectionPool (som använder 1-anslutning) än att använda vanligt urllib (som använder 15 anslutningar).
Detta bibliotek är perfekt för:
& Nbsp; * Att prata med ett API
& Nbsp; * Crawling en webbplats
& Nbsp; * Alla situation där att kunna posta filer, hantera omdirigering, och försöker igen är användbart. Det är relativt lätt, så det kan användas för något!
Exempel:
Gå till exempel wiki för fler fina syntax-färg exempel.
Men, lång historia kort:
från urllib3 import HTTPConnectionPool
API_URL = 'http://ajax.googleapis.com/ajax/services/search/web'
http_pool = HTTPConnectionPool.from_url (API_URL)
fält = {'v': '1,0', 'q': 'urllib3'}
r = http_pool.get_url (API_URL, fält)
utskrifts r.status, r.data

Vad är nytt i den här versionen:

  • Inkom urllib3.add_stderr_logger () för att snabbt möjliggör STDERR felsökningsloggning i urllib3.
  • Native fullständiga URL pars (inklusive auth, stig, query, fragment) finns i urllib3.util.parse_url (url).
  • Inbyggd omdirigering växlar metod för att "GET" om statuskoden är 303. (Issue # 11)
  • urllib3.PoolManager remsor systemet och värd innan du skickar begäran uri. (Issue # 8)
  • Ny urllib3.exceptions.DecodeError undantag för när automatisk avkodning, baserat på Content-Type, misslyckas.
  • Fixat bugg med pool utarmning och läckande anslutningar (Issue # 76). Inkom explicit anslutning stängning på pool vräkning. Tillagd urllib3.PoolManager.clear ().
  • 99% - & gt; 100% enhetstesttäckning.

Vad är nytt i version 1.4:.

  • Mindre AppEngine relaterade korrigeringar
  • Switched från mimetools.choose_boundary att uuid.uuid4 ().
  • Förbättrad url pars. (Issue # 73)
  • IPv6 url stöd. (Issue # 72)

Vad är nytt i version 1.3:.

  • Bort pre-1.0 föråldrat API
  • Refactored medhjälpare i en urllib3.util submodul.
  • Fast multi kodning för att stödja lista-över-tupler för nycklar med flera värden. (Issue # 48)
  • Fasta flera Set-Cookie-huvuden i svar inte får slås samman ordentligt i Python 3. (Issue # 53)
  • AppEngine stöd med Py27. (Issue # 61)
  • Mindre encode_multipart_formdata fixar relaterade till Python 3 strängar vs bytes.

Vad är nytt i version 1.2.2:

  • Fixat förpackning bugg att inte skicka testkrav. text. (Issue # 47)

Vad är nytt i version 1.2.1:

  • Fixat en bugg relaterad till när ssl-modulen inte är tillgängliga. (Issue # 41)
  • Plats tolkningsfel nu höjer urllib3.exceptions.LocationParseError som ärver från ValueError.

Vad är nytt i version 1.2:

  • Lade Python 3-stöd (testat på 3.2.2)
  • Tappat Python 2.5 support (testat på 2.6.7, 2.7.2)
  • Användning select.poll istället för select.select för plattformar som stöder den.
  • Användning Queue.LifoQueue istället för Queue.Queue för mer aggressiva anslutning återanvändning. Konfigurerbar av tvingande ConnectionPool.QueueCls.
  • Fast ImportError installera under när ssl-modulen inte är tillgänglig. (Issue # 41)
  • Fast PoolManager omdirigeringar mellan systemen (t.ex. HTTP - & gt; HTTPS) som inte fullbordade ordentligt. (Issue # 28, avslöjats av Issue # 10 i v1.1)
  • Ported dummyserver att använda tromben istället för webob + eventlet. Tog bort ovidkommande stöds dummyserver testningsbackends. Inkom socket-nivåtest.
  • Fler tester. Låst upp prestation:. 99% Täckning

Vad är nytt i version 1.1:

  • Refactored dummyserver sin egen rot namespace-modul (som används för att testa ).
  • Inkom värdnamn verifiering för VerifiedHTTPSConnection genom vendoring i Py32 s ssl_match_hostname. (Issue # 25)
  • Fast korsvärd HTTP-omdirigeringar när PoolManager. (Issue # 10)
  • Fast decode_content ignoreras när inställd genom urlopen. (Issue # 27)
  • Fasta timeout-relaterade buggar. (Frågor # 17, # 23)

Vad är nytt i version 1.0.2:

  • Fast stavfel i VerifiedHTTPSConnection som skulle bara närvarande som en bugg om du använder objektet manuellt. (Tack pyos)
  • Made RecentlyUsedContainer (och följaktligen PoolManager) fler trådsäker genom att linda accessloggen i en mutex. (Tackchrister)
  • Made RecentlyUsedContainer mer dict-liknande (korrigerad __delitem__ och __getitem__ beteende), med tester. Bör inte påverka kärn urllib3 koden.

Vad är nytt i version 1.0.1:

  • Fixat en bugg där samma anslutning skulle få tillbaka i poolen två gånger, vilket orsakar ovidkommande & quot; HttpConnectionPool är full & quot; logga varningar.

Krav :

  • Python

Annan programvara för utvecklare Andrey Petrov

urllib3
urllib3

12 May 15

Kommentarer till urllib3

Kommentarer hittades inte
Kommentar
Slå på bilder!