urllib3

Tela Software:
urllib3
Detalhes de Software:
Versão: 1.5
Data de upload: 20 Feb 15
Revelador: Andrey Petrov
Licença: Livre
Popularidade: 2

Rating: nan/5 (Total Votes: 0)

urllib3 é uma biblioteca Python HTTP com o pool de conexão thread-safe e suporte pós arquivo.
Destaques:
& Nbsp; * Re-utilizar a mesma conexão de soquete para várias solicitações (HTTPConnectionPool)
& Nbsp; * postagem Arquivo (encode_multipart_formdata)
& Nbsp; * Built-in redirecionamento e tentativas (opcional)
& Nbsp; * Thread-safe
O que há de errado com urllib e urllib2?
Há duas características críticas ausentes da biblioteca padrão do Python: Connection reutilização / pooling e arquivo de postagem. Não é terrivelmente difícil de implementar esses mesmo, mas é muito mais fácil de usar um módulo que já fez o trabalho para você.
Os Python bibliotecas padrão urllib e urllib2 têm pouco a ver um com o outro. Eles foram projetados para ser independente e autônomo, cada solução de um escopo diferente de problemas, e urllib3 segue em uma veia similar.
Por que eu quero para reutilizar conexões?
Performance. Quando você normalmente faz uma chamada urllib, uma conexão de soquete separada é criada com cada solicitação. Ao reutilizar soquetes existentes (apoiados desde HTTP 1.1), os pedidos terão menos recursos no final do servidor, e também fornecer um tempo de resposta mais rápido no final do cliente. Com alguns benchmarks simples (ver test / benchmark.py), download de 15 URLs do google.com é de cerca de duas vezes mais rápido quando se usa HTTPConnectionPool (que usa uma conexão) do que usar urllib simples (que utiliza 15 conexões).
Esta biblioteca é perfeito para:
& Nbsp; * Conversando com uma API
& Nbsp; * Crawling um website
& Nbsp; * Qualquer situação em que ser capaz de postar arquivos, lidar com o redirecionamento, e tentar novamente é útil. É relativamente leve, por isso pode ser usado para qualquer coisa!
Exemplos:
Vá para o wiki Exemplos para exemplos com sintaxe destacada mais agradáveis.
Mas, longa história curta:
de importação urllib3 HTTPConnectionPool
API_URL = 'http://ajax.googleapis.com/ajax/services/search/web'
http_pool = HTTPConnectionPool.from_url (API_URL)
fields = {'v': '1.0', 'q': 'urllib3'}
r = http_pool.get_url (API_URL, campos)
impressão r.status, r.data

O que é novo nesta versão:

  • urllib3.add_stderr_logger Adicionado () para rapidamente STDERR permitindo o registro de depuração no urllib3.
  • URL completa Native análise (incluindo auth, caminho, consulta, fragmento) disponível em urllib3.util.parse_url (url).
  • Built-in redirecionamento mudará método para 'GET', se o código de estado é 303. (edição # 11)
  • urllib3.PoolManager retira o esquema e anfitrião antes de enviar o pedido uri. (Edição # 8)
  • exceção New urllib3.exceptions.DecodeError para quando decodificação automática, com base no cabeçalho Content-Type, falhar.
  • Corrigido o erro com esgotamento piscina e conexões vazamento (edição # 76). Adicionado conexão explícita fechar em piscina de despejo. Adicionado urllib3.PoolManager.clear ().
  • 99% - & gt; Cobertura de teste de unidade de 100%.

O que é novo na versão 1.4:.

  • correções relacionadas com AppEngine Menores
  • Comutado de mimetools.choose_boundary para uuid.uuid4 ().
  • Improved parsing url. (Edição # 73)
  • apoio url IPv6. (Edição # 72)

O que é novo na versão 1.3:.

  • -1.0 pré API preterido Removido
  • ajudantes reformulado em um submodule urllib3.util.
  • codificação multipart fixo de apoio lista-de-tuplas de chaves com vários valores. (Edição # 48)
  • vários cabeçalhos Set-Cookie fixos em resposta não se fundiu corretamente em Python 3. (edição # 53)
  • apoio AppEngine com Py27. (Edição # 61)
  • correções encode_multipart_formdata menores relacionados com Python 3 cordas vs bytes.

O que é novo na versão 1.2.2:

  • bug embalagem fixo de não enviar test-requisitos. txt. (Edição # 47)

O que é novo na versão 1.2.1:

  • Corrigido outro bug relacionado a quando o módulo SSL não é à disposição. (Edição # 41)
  • Localização erros de análise agora levantar urllib3.exceptions.LocationParseError que herda de ValueError.

O que é novo na versão 1.2:

  • 3 Adicionado suporte Python (testado no 3.2.2)
  • Caiu 2,5 apoio Python (testado em 2.6.7, 2.7.2)
  • Use select.poll em vez de select.select para plataformas que suportam.
  • Use Queue.LifoQueue em vez de Queue.Queue para reutilização de conexão mais agressivo. Configurável pelo ConnectionPool.QueueCls imperiosas.
  • ImportError fixo durante a instalação quando o módulo SSL não está disponível. (Edição # 41)
  • poolmanager Fixo redireciona entre os regimes (como HTTP - & gt; HTTPS) não concluir corretamente. (Edição # 28, descoberto pela edição # 10 da v1.1)
  • dummyserver portado para utilizar tornado em vez de WebOb + eventlet. Removido não suportados backends teste dummyserver estranhos. Adicionado testes de nível de socket.
  • Mais testes. Realização destravada:. 99% de cobertura

O que é novo na versão 1.1:

  • Refatorada dummyserver para seu próprio módulo namespace root (usado para testes ).
  • verificação hostname Adicionado para VerifiedHTTPSConnection por vendoring em ssl_match_hostname de Py32. (Edição # 25)
  • HTTP cross-Host fixo redireciona ao usar poolmanager. (Edição # 10)
  • decode_content fixo a ser ignorado quando definido através urlopen. (Edição # 27)
  • bugs relacionados tempo limite fixos. (Questão # 17, # 23)

O que é novo na versão 1.0.2:

  • Corrigido o erro em VerifiedHTTPSConnection que só está presente como um bug se você estiver usando o objeto manualmente. (Graças pyos)
  • Made RecentlyUsedContainer (e consequentemente poolmanager) mais thread-safe por envolvimento log de acesso em um mutex. (Obrigadochrister)
  • Made RecentlyUsedContainer mais dict-like (__delitem__ corrigido e comportamento __getitem__), com testes. Não deve afetar código urllib3 núcleo.

O que é novo na versão 1.0.1:

  • Corrigido um bug onde a mesma conexão que se voltou na piscina duas vezes, causando estranhas & quot; HttpConnectionPool está cheia & quot; avisos de log.

Requisitos :

  • Python

Outro software de desenvolvedor Andrey Petrov

urllib3
urllib3

12 May 15

Comentário para urllib3

Comentários não encontrado
Adicionar comentário
Ligue imagens!