urllib3

Skjermbilde programvare:
urllib3
Prog.varedetaljer:
Versjon: 1.5
Last opp dato: 20 Feb 15
Utvikler: Andrey Petrov
Lisens: Gratis
Popularitet: 2

Rating: nan/5 (Total Votes: 0)

urllib3 er en Python HTTP-biblioteket med trådsikker tilkoblingsgrupper og fil post støtte.
Høydepunkter:
& Nbsp; * Re-bruker samme socket-tilkobling for flere forespørsler (HTTPConnectionPool)
& Nbsp; * File posting (encode_multipart_formdata)
& Nbsp; * Innebygd omdirigering og nye forsøk (valgfritt)
& Nbsp; * Thread-safe
Hva er galt med urllib og urllib2?
Det er to viktige funksjoner mangler fra Python standard bibliotek: Connection gjenbruke / pooling og fil innlegg. Det er ikke veldig vanskelig å gjennomføre disse selv, men det er mye enklere å bruke en modul som allerede gjorde jobben for deg.
De Python standardbibliotekene urllib og urllib2 har lite å gjøre med hverandre. De ble laget for å være uavhengig og frittstående, hver løse et annet omfang av problemer, og urllib3 følger i samme fotspor.
Hvorfor ønsker jeg å gjenbruke tilkoblinger?
Ytelse. Når du vanligvis gjør en urllib samtale, er en egen socket-tilkobling er opprettet med hver forespørsel. Ved å gjenbruke eksisterende stikkontakter (støttet siden HTTP 1.1), vil forespørsler ta opp mindre ressurser på serverens slutt, og også gi en raskere responstid på kundens slutt. Med noen enkle benchmarks (se test / benchmark.py), laste ned 15 URLer fra google.com er omtrent dobbelt så raskt når du bruker HTTPConnectionPool (som bruker en tilkobling) enn å bruke vanlig urllib (som bruker 15 tilkoblinger).
Dette biblioteket er perfekt for:
& Nbsp; * Å snakke med en API
& Nbsp; * Crawling et nettsted
& Nbsp; * Enhver situasjon der det å være i stand til å legge filer, håndtere omdirigering, og prøver på nytt er nyttig. Det er relativt lett, slik at den kan brukes til noe!
Eksempler:
Gå til Eksempler wiki for flere fine syntaks-uthevet eksempler.
Men, lang historie kort:
fra urllib3 import HTTPConnectionPool
API_URL = 'http://ajax.googleapis.com/ajax/services/search/web'
http_pool = HTTPConnectionPool.from_url (API_URL)
felt = {'v': '1.0', 'q': 'urllib3'}
r = http_pool.get_url (API_URL, felt)
print r.status, r.data

Hva er nytt i denne utgaven:

  • Lagt urllib3.add_stderr_logger () for raskt muliggjør STDERR feilsøkingslogging i urllib3.
  • Native fulle URL parsing (inkludert auth, bane, spørring, fragment) tilgjengelig i urllib3.util.parse_url (url).
  • Innebygd redirect vil skifte metode for å "få" hvis statuskoden er 303. (Issue # 11)
  • urllib3.PoolManager strimler ordningen og verten før du sender forespørsel uri. (Issue # 8)
  • New urllib3.exceptions.DecodeError unntak for når automatisk dekoding, basert på Content-Type header, mislykkes.
  • Rettet feil med basseng utarming og lekker tilkoblinger (Issue # 76). Lagt eksplisitt forbindelse stengetid på basseng utkastelse. Lagt urllib3.PoolManager.clear ().
  • 99% - & gt; 100% enhet test dekning.

Hva er nytt i versjon 1.4:.

  • Minor Apps-motor-relaterte feilrettinger
  • Byttet fra mimetools.choose_boundary til uuid.uuid4 ().
  • Forbedret url parsing. (Issue # 73)
  • IPv6 url støtte. (Issue # 72)

Hva er nytt i versjon 1.3:.

  • Fjernet pre-1.0 foreldet API
  • Refactored hjelpere i en urllib3.util submodule.
  • Fast multi koding for å støtte list-of-tupler for taster med flere verdier. (Issue # 48)
  • Faste flere Set-Cookie-hoder som svar ikke blir fusjonert ordentlig i Python 3. (Issue # 53)
  • AppEngine støtte med Py27. (Issue # 61)
  • Minor encode_multipart_formdata fikser relatert til Python tre strenger vs bytes.

Hva er nytt i versjon 1.2.2:

  • Fast emballasje bug av ikke frakt testkrav. tekst. (Issue # 47)

Hva er nytt i versjon 1.2.1:

  • Fast annen bug relatert til når ssl-modulen er ikke tilgjengelig. (Issue # 41)
  • Posisjonsanalysefeil nå heve urllib3.exceptions.LocationParseError som arver fra ValueError.

Hva er nytt i versjon 1.2:

  • Lagd Python 3-støtte (testet på 3.2.2)
  • Droppet Python 2.5 støtte (testet på 2.6.7, 2.7.2)
  • Bruk select.poll istedenfor select.select for plattformer som støtter det.
  • Bruk Queue.LifoQueue istedenfor Queue.Queue for mer aggressiv forbindelse gjenbruk. Konfigurerbar ved å overstyre ConnectionPool.QueueCls.
  • Fast ImportError under installasjonen når ssl-modulen er ikke tilgjengelig. (Issue # 41)
  • Fast PoolManager omdirigeringer mellom ordninger (for eksempel HTTP - & gt; HTTPS) ikke fullføre ordentlig. (Issue # 28, avdekket av Issue # 10 i v1.1)
  • Ported dummyserver å bruke tornado i stedet for webob + eventlet. Fjernet overflødig ustøttede dummyserver testing backends. Lagt socket-nivå tester.
  • Flere tester. Achievement Unlocked.: 99% Dekning

Hva er nytt i versjon 1.1:

  • Refactored dummyserver til sin egen root navne modul (brukes for testing ).
  • Lagt hostname verifisering for VerifiedHTTPSConnection ved vendoring i Py32 sin ssl_match_hostname. (Issue # 25)
  • Fast cross-host HTTP omdirigeringer ved bruk PoolManager. (Issue # 10)
  • Fast decode_content blir ignorert når satt gjennom urlopen. (Issue # 27)
  • Faste timeout-relaterte bugs. (Problemer # 17, # 23)

Hva er nytt i versjon 1.0.2:

  • Fast skrivefeil i VerifiedHTTPSConnection som ville bare til stede som en bug hvis du bruker objektet manuelt. (Takk pyos)
  • Made RecentlyUsedContainer (og dermed PoolManager) mer thread-safe ved å pakke tilgangsloggen i en mutex. (Takkchrister)
  • Made RecentlyUsedContainer mer dict-lignende (korrigert __delitem__ og __getitem__ atferd), med tester. Skal ikke påvirke kjernen urllib3 koden.

Hva er nytt i versjon 1.0.1:

  • Fikset en bug hvor den samme forbindelse vil bli returnert i bassenget to ganger, forårsaker overflødig & quot; HttpConnectionPool er full & quot; logge advarsler.

Krav :

  • Python

Annen programvare fra utvikleren Andrey Petrov

urllib3
urllib3

12 May 15

Kommentarer til urllib3

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!