urllib3

Software kuvakaappaus:
urllib3
Ohjelmiston tiedot:
Versio: 1.5
Lähetyksen päivämäärä: 20 Feb 15
Kehittäjä: Andrey Petrov
Lupa: Vapaa
Suosio: 2

Rating: nan/5 (Total Votes: 0)

urllib3 on Python HTTP kirjasto ketju turvallinen yhteys yhdistäminen ja tiedostojen post tukea.
Highlights:
& Nbsp; * Re-käyttää samaa socket-yhteyden useiden pyyntöjen (HTTPConnectionPool)
& Nbsp; * Tiedoston lähettämistä (encode_multipart_formdata)
& Nbsp; * Sisäänrakennettu uudelleenohjaus ja retries (valinnainen)
& Nbsp; * ketju turvallinen
Mitä vikaa urllib ja urllib2?
On kaksi kriittistä ominaisuuksia puuttuu Python standardin kirjasto: Connection käyttää uudelleen / kokoamista ja tiedostojen lähettämistä. Se ei ole hirveän vaikea toteuttaa näitä itse, mutta se on paljon helpompi käyttää moduuli, joka jo teki työn puolestasi.
Python standardikirjastot urllib ja urllib2 paljoakaan tekemistä toistensa kanssa. Ne suunniteltiin olla riippumaton ja itsenäinen, jokainen ratkaista eri soveltamisala ongelmia, ja urllib3 seuraa Samansuuntaisesti.
Miksi haluat käyttää uudelleen yhteyksiä?
Suorituskyky. Kun normaalisti urllib puhelun, erillinen pistorasia yhteys luodaan jokaisen pyynnön. By uudelleen vanhaa pistorasiat (tuettu vuodesta HTTP 1.1), pyynnöt vievät vähemmän resursseja palvelimen loppuun, ja myös nopeampi vasteaika asiakkaan luona loppuun. Muutaman yksinkertaisen vertailukohtia (ks testi / benchmark.py), lataaminen 15 URL-osoitteesta google.com on noin kaksi kertaa niin nopeasti käytettäessä HTTPConnectionPool (joka käyttää 1 liitäntä) kuin käytettäessä tavallista urllib (joka käyttää 15-yhteydet).
Tämä kirjasto on täydellinen:
& Nbsp; * Puhuminen API
& Nbsp; * indeksointi verkkosivuilla
& Nbsp; * jokaista tilannetta, jossa se voi lähettää tiedostoja, käsitellä uudelleenohjaus, ja yritetään uudelleen on hyödyllinen. Se on suhteellisen kevyt, joten sitä voidaan käyttää mihin tahansa!
Esimerkkejä:
Mene Esimerkkejä wiki enemmän mukava syntaksin korostettu esimerkkejä.
Mutta, pitkä tarina lyhyt:
alkaen urllib3 tuonti HTTPConnectionPool
API_URL = 'http://ajax.googleapis.com/ajax/services/search/web'
http_pool = HTTPConnectionPool.from_url (API_URL)
kentät = {'v': '1,0', 'q': 'urllib3 "}
r = http_pool.get_url (API_URL, kentät)
Tulosta r.status, r.data

Mitä uutta tässä julkaisussa:

  • Lisätty urllib3.add_stderr_logger () nopeasti mahdollistaa stderr debug puunkorjuu urllib3.
  • Native koko URL jäsentämiseen (myös auth, polku, kysely, fragmentti) saatavilla urllib3.util.parse_url (url).
  • Sisäinen uudelleenohjaus vaihtaa menetelmää "GET", jos tila koodi on 303. (Issue # 11)
  • urllib3.PoolManager nauhat järjestelmän ja vastaanottavan ennen lähettämistä pyynnön URI. (Issue # 8)
  • Uusi urllib3.exceptions.DecodeError poikkeus kun automaattinen koodauksen, joka perustuu Content-type, epäonnistuu.
  • Kiinteä vian kanssa allas ehtyminen ja vuotavat liitännät (Issue # 76). Lisätty nimenomaisen yhteyden sulkeminen allas häätö. Lisätty urllib3.PoolManager.clear ().
  • 99% - & gt; 100% yksikön testi kattavuus.

Mitä uutta versiossa 1.4:

  • Minor AppEngine liittyvät korjaukset.
  • siirtynyt mimetools.choose_boundary kohteeseen uuid.uuid4 ().
  • Parempi url jäsentämiseen. (Issue # 73)
  • IPv6 url tukea. (Issue # 72)

Mitä uutta versiossa 1.3:

  • Poistettu ennalta 1,0 vanhentuneita API.
  • refactored auttajia osaksi urllib3.util submodule.
  • Kiinteät moniosaisia ​​koodaus tukea list-of-tuples avaimia useita arvoja. (Issue # 48)
  • Kiinteät useita Set-Cookie otsikot vastauksena ei saada yhdistyivät oikein Python 3. (Issue # 53)
  • AppEngine tukea Py27. (Issue # 61)
  • Minor encode_multipart_formdata korjauksia liittyvät Python 3 jouset vs tavua.

Mitä uutta versiossa 1.2.2:

  • Kiinteä pakkaus vika ei toimiteta testi-vaatimukset. txt. (Issue # 47)

Mitä uutta versiossa 1.2.1:

  • Kiinteä toisen vian liittyvät kun SSL-moduuli ei ole käytettävissä. (Issue # 41)
  • Paikka jäsennysvirheitä nyt nostaa urllib3.exceptions.LocationParseError joka perii ValueError.

Mitä uutta versiossa 1.2:

  • Lisätty Python 3 tuki (testattu 3.2.2)
  • Pudonnut Python 2.5 tuki (testattu 2.6.7, 2.7.2)
  • Käytä select.poll sijaan select.select laitureille, jotka tukevat sitä.
  • Käytä Queue.LifoQueue sijaan Queue.Queue enemmän aggressiivinen yhteyden uusiokäyttöä. Muokattavat pakottavilla ConnectionPool.QueueCls.
  • Kiinteät ImportError asennuksen aikana, kun SSL-moduuli ei ole käytettävissä. (Issue # 41)
  • Kiinteät PoolManager ohjaa järjestelmien välillä (kuten HTTP - & gt; HTTPS) ei ole saattanut asianmukaisesti. (Issue # 28, paljastettu Issue # 10 v1.1)
  • Ported dummyserver käyttää tornado sijaan webob + eventlet. Poistettu vieraita tueta dummyserver testaus backends. Lisätty socket-tason kokeet.
  • Lisää testejä. Achievement Avattu: 99% kattavuus.

Mitä uutta versio 1.1:

  • refactored dummyserver omille root nimiavaruus moduuli (testauksessa käytetty ).
  • Lisätty hostname todentaminen VerifiedHTTPSConnection joita vendoring vuonna Py32 n ssl_match_hostname. (Issue # 25)
  • Kiinteät rajat isäntä HTTP uudelleenohjaus käytettäessä PoolManager. (Issue # 10)
  • Kiinteät decode_content jätetään huomiotta, kun asetettu kautta urlopen. (Issue # 27)
  • Kiinteät timeout liittyviä vikoja. (Issues # 17, # 23)

Mitä uutta versiossa 1.0.2:

  • Kiinteät kirjoitusvirhe VerifiedHTTPSConnection mikä vain läsnä bug jos käytät objektin manuaalisesti. (Kiitos pyos)
  • Valmistettu RecentlyUsedContainer (ja näin ollen PoolManager) Lisää ketju turvallinen kietomalla pääsyä Kirjaudu mutex. (Kiitoschrister)
  • Valmistettu RecentlyUsedContainer enemmän dict kaltainen (korjattu __delitem__ ja __getitem__ käyttäytyminen), jossa testit. Ei pitäisi vaikuttaa ydin urllib3 koodi.

Mitä uutta versiossa 1.0.1:

  • Kiinteä vika, jos samassa yhteydessä olisi saada takaisin altaaseen kahdesti, aiheuttaen vieraita & quot; HttpConnectionPool on täynnä & quot; kirjaudu varoituksia.

Vaatimukset :

  • Python

Muu ohjelmistojen kehittäjä Andrey Petrov

urllib3
urllib3

12 May 15

Kommentit urllib3

Kommentteja ei löytynyt
Lisää kommentti
Ota kuvia!