urllib3

Screenshot Software:
urllib3
Szczegóły programowe:
Wersja: 1.5
Filmu: 20 Feb 15
Wywoływacz: Andrey Petrov
Licencja: Wolny
Popularność: 2

Rating: nan/5 (Total Votes: 0)

urllib3 jest biblioteka Pythona HTTP z puli połączeń wątku bezpieczny i wsparcia plik postu.
Najważniejsze cechy:
& Nbsp; * ponownie korzystać z tego samego połączenia z gniazdem dla wielu wniosków (HTTPConnectionPool)
& Nbsp; * wpis pliku (encode_multipart_formdata)
& Nbsp; * Wbudowany w przekierowania i prób (opcjonalnie)
& Nbsp; * bezpieczny wątku
Co jest nie tak z urllib i urllib2?
Istnieją dwa najważniejsze cechy brakuje w standardowej biblioteki Pythona: Połączenie ponownego wykorzystania / łączenie i plików delegowania. To nie jest strasznie trudne do wdrożenia ich samemu, ale to o wiele łatwiejsze w użyciu moduł, który już zrobił to za Ciebie.
W Pythonie standardowych bibliotek urllib i urllib2 mają niewiele ze sobą. Zostały one zaprojektowane tak, aby być niezależny i samodzielny, każde rozwiązanie inny zakres problemów i urllib3 następuje w podobnym duchu.
Dlaczego chcesz ponownie użyć połączenia?
Wydajność. Gdy robisz to połączenie urllib, oddzielne połączenie z gniazdem jest tworzony z każdego żądania. Dzięki ponownemu wykorzystaniu istniejących gniazd (obsługiwane od HTTP 1.1), wnioski zajmie mniej zasobów na koniec serwera, a także szybszy czas reakcji na koniec klienta. Z kilku prostych wskaźników (patrz test / benchmark.py), pobierając 15 adresów URL z google.com jest około dwa razy szybciej przy użyciu HTTPConnectionPool (który wykorzystuje 1 połączenie), niż przy użyciu zwykłego urllib (który wykorzystuje 15 połączeń).
Biblioteka ta jest idealna dla:
& Nbsp; * Rozmowa z API
& Nbsp; * Crawling stronę internetową
& Nbsp; * Każda sytuacja, w której jest w stanie opublikować pliki, obsługiwać przekierowywanie i ponowienie jest przydatna. Jest stosunkowo lekki, dzięki czemu może być używany do niczego!
Przykłady:
Idź do wiki przykłady kilku ładnych przykładów z podświetlaniem składni.
Ale, krótko mówiąc:
z urllib3 importu HTTPConnectionPool
API_URL = "http://ajax.googleapis.com/ajax/services/search/web"
http_pool = HTTPConnectionPool.from_url (API_URL)
pola = {'v': '1.0', 'q': 'urllib3'}
r = http_pool.get_url (API_URL, pola)
drukuj r.status, r.data

Co nowego w tym wydaniu:

  • Dodane urllib3.add_stderr_logger () na szybko umożliwiając rejestrowanie debugowania stderr w urllib3.
  • Język pełny adres URL parsowania (w tym auth, ścieżka, zapytania, fragment) dostępnych w urllib3.util.parse_url (URL).
  • Wbudowana przekierowania przełączy metody "GET", jeżeli kod stanu jest 303. (Wydanie nr 11)
  • urllib3.PoolManager paski schemat i gospodarza przed wysłaniem żądania uri. (Wydanie nr 8),
  • New urllib3.exceptions.DecodeError wyjątkiem, gdy automatyczne dekodowania na podstawie nagłówka Content-Type nie.
  • Naprawiono błąd z wyczerpaniem puli i nieszczelnych połączeń # 76 (wydanie). Dodano wyraźne połączenie zamknięcia na basenie eksmisji. Dodane urllib3.PoolManager.clear ().
  • 99% - & gt; 100% testy jednostkowe.

Co nowego w wersji 1.4.

  • Drobne poprawki związane AppEngine,
  • Switched z mimetools.choose_boundary do uuid.uuid4 ().
  • Zwiększona url analizowania. (Wydanie nr 73)
  • Wsparcie url IPv6. (Wydanie nr 72)

Co nowego w wersji 1.3.

  • Usunięto sprzed 1,0 przestarzałe API
  • refactored pomocnicy w submodule urllib3.util.
  • Poprawiono kodowanie wieloczęściowy do obsługi list-of-krotki do kluczy z wielu wartości. (Wydanie nr 48)
  • Poprawiono wiele nagłówków Set-Cookie w odpowiedzi na nie coraz połączone prawidłowo w Pythonie 3. (wydanie nr 53)
  • Wsparcie AppEngine z Py27. (Wydanie nr 61)
  • Drobne poprawki encode_multipart_formdata związane z python 3 ciągi vs bajtów.

Co nowego w wersji 1.2.2:

  • Naprawiono błąd opakowanie nie wysyłać wymagań testowych. tekst. (Wydanie nr 47)

Co nowego w wersji 1.2.1:

  • Poprawiono błąd związany z innym, gdy nie ma modułu ssl dostępne. (Wydanie nr 41)
  • Lokalizacja błędy analizy teraz podnieść urllib3.exceptions.LocationParseError która dziedziczy ValueError.

Co nowego w wersji 1.2:

  • Dodane Python 3 wsparcie (testowane na 3.2.2)
  • Wypada Python 2.5 Wsparcie (testowane na 2.6.7, 2.7.2),
  • Użyj select.poll zamiast select.select dla platform, które go obsługują.
  • Użyj Queue.LifoQueue zamiast Queue.Queue dla bardziej agresywnej ponownego użycia połączenia. Konfigurowalny nadrzędnymi ConnectionPool.QueueCls.
  • Poprawiono ImportError podczas instalacji, gdy moduł SSL nie jest dostępny. (Wydanie nr 41)
  • Poprawiono PoolManager przekierowania między systemami (takimi jak HTTP - & gt; HTTPS) nie kończą prawidłowo. (Wydanie nr 28, odkryte przez Emisji # 10 w wersji 1.1),
  • Przeportowany dummyserver używać tornado zamiast webob + eventlet. Usunięto obce nieobsługiwane backendy testowania dummyserver. Testy Dodano poziomie gniazda.
  • Więcej testów. Achievement Unlocked:. 99% pokrycia,

Co nowego w wersji 1.1:

  • refactored dummyserver do własnej przestrzeni nazw modułu głównego (używane do badań ).
  • Dodane weryfikacji nazwa hosta VerifiedHTTPSConnection przez vendoring w ssl_match_hostname Py32 za. (Wydanie nr 25)
  • Poprawiono HTTP cross-gospodarza przekierowania podczas korzystania PoolManager. (Wydanie nr 10)
  • Poprawiono decode_content są ignorowane, gdy ustawiony przez urlopen. (Wydanie nr 27)
  • Poprawiono błędy związane Timeout-. (Zagadnienia # 17, # 23)

Co nowego w wersji 1.0.2:

  • Naprawiono błąd w VerifiedHTTPSConnection które przedstawia jedynie jako bug jeśli ręcznie przy użyciu obiektu. (Dziękuję pyos)
  • Wykonane RecentlyUsedContainer (aw konsekwencji PoolManager) bardziej bezpieczny wątku przez owinięcie dziennik dostępu w mutex. (Dziękichrister)
  • Wykonane RecentlyUsedContainer więcej dict-podobne (poprawione __delitem__ i __getitem__ zachowanie), z badań. Nie powinien mieć wpływu rdzenia kod urllib3.

Co nowego w wersji 1.0.1:

  • Naprawiono błąd, gdzie sama gra dostanie zwrócony w basenie dwa razy, powodując obce & quot; HttpConnectionPool jest pełna & quot; ostrzeżenia zalogować.

Wymagania :

  • Python

Inne programy z deweloperem Andrey Petrov

urllib3
urllib3

12 May 15

Komentarze do urllib3

Komentarze nie znaleziono
Dodaj komentarz
Włącz zdjęć!