urllib3

Software captura de pantalla:
urllib3
Detalles de software:
Versión: 1.5
Fecha de carga: 20 Feb 15
Promotor: Andrey Petrov
Licencia: Libre
Popularidad: 2

Rating: nan/5 (Total Votes: 0)

urllib3 es una biblioteca de Python HTTP con la agrupación de conexiones flujos seguros y apoyo posterior archivo.
Lo más destacado:
& Nbsp; * Re-utilizar la misma conexión de socket para múltiples solicitudes (HTTPConnectionPool)
& Nbsp; * publicación de archivos (encode_multipart_formdata)
& Nbsp; * Construida en el redireccionamiento y reintentos (opcional)
& Nbsp; * Hilo de seguridad
¿Qué hay de malo en urllib y urllib2?
Hay dos características críticas que faltan de la biblioteca estándar de Python: Conexión reutilización / puesta en común y el archivo de publicación. No es muy difícil de poner en práctica estos sí mismo, pero es mucho más fácil utilizar un módulo que ya lo ha hecho el trabajo por usted.
Las bibliotecas estándar de Python urllib y urllib2 tienen poco que ver entre sí. Fueron diseñados para ser independiente y autónomo, cada resolución de un ámbito diferente de problemas, y urllib3 sigue en la misma línea.
¿Por qué quiero volver a utilizar conexiones?
Rendimiento. Cuando lo hace normalmente una llamada urllib, una conexión de socket independiente se crea con cada solicitud. Mediante la reutilización de tomas existentes (apoyado desde HTTP 1.1), las solicitudes tendrán menos recursos en el extremo del servidor, y también proporcionar un tiempo de respuesta más rápido al final del cliente. Con algunos puntos de referencia simples (ver prueba / benchmark.py), la descarga de 15 URLs desde google.com es dos veces más rápido cuando se utiliza HTTPConnectionPool (que utiliza la conexión 1) que el uso de urllib llano (que utiliza 15 conexiones).
Esta biblioteca es perfecta para:
& Nbsp; * Hablando con una API
& Nbsp; * El rastreo de un sitio web
& Nbsp; * Cualquier situación en la que poder publicar archivos, manejar la redirección, y volver a intentar es útil. Es relativamente ligero, por lo que se puede utilizar para cualquier cosa!
Ejemplos:
Ir a la wiki Ejemplos de ejemplos de sintaxis resaltado más agradables.
Pero, en resúmen:
de importación 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)
r.status impresión, r.data

¿Qué hay de nuevo en esta versión:

  • urllib3.add_stderr_logger Añadido () para rápidamente que permite el registro de depuración STDERR en urllib3.
  • URL completa Nativo análisis (incluyendo autenticación, camino, consulta, fragmento) disponible en urllib3.util.parse_url (url).
  • incorporado redirección cambiará método para "conseguir" si el código de estado es 303. (Edición # 11)
  • urllib3.PoolManager despoja el esquema y anfitrión antes de enviar la solicitud uri. (Edición # 8)
  • excepción Nueva urllib3.exceptions.DecodeError para cuando decodificación automática, basada en la cabecera Content-Type, falla.
  • Solución de error con el agotamiento de la piscina y las conexiones con fuga (Issue # 76). Añadido conexión explícita cierre de la piscina de desalojo. Agregado urllib3.PoolManager.clear ().
  • 99% - & gt; Cobertura de prueba de la unidad 100%.

¿Qué hay de nuevo en la versión 1.4:.

  • Arreglos relacionados AppEngine-Menores
  • conmutada de mimetools.choose_boundary a uuid.uuid4 ().
  • Mejora del análisis url. (Edición # 73)
  • Soporte url IPv6. (Edición # 72)

¿Qué hay de nuevo en la versión 1.3:.

  • pre-1.0 API en desuso Eliminado
  • ayudantes reprogramado para un submódulo urllib3.util.
  • Fija la codificación de varias partes de apoyo de lista de tuplas de teclas con varios valores. (Edición # 48)
  • varios encabezados Set-Cookie fijos en la respuesta no conseguir fusionado correctamente en Python 3. (Edición # 53)
  • Soporte AppEngine con Py27. (Edición # 61)
  • correcciones encode_multipart_formdata menores relacionados con Python 3 cuerdas vs bytes.

¿Cuál es nuevo en la versión 1.2.2:

  • Corregido error en el empaquetado de no introducir test-requisitos. txt. (Edición # 47)

¿Cuál es nuevo en la versión 1.2.1:

  • Corregido otro error relacionado con cuando el módulo SSL no está esta disponible. (Edición # 41)
  • Ubicación errores de análisis ahora plantean urllib3.exceptions.LocationParseError que hereda de ValueError.

¿Cuál es nuevo en la versión 1.2:

  • Agregado Python 3 apoyo (probado en 3.2.2)
  • Caído Python 2.5 apoyo (probado en 2.6.7, 2.7.2)
  • Uso select.poll lugar de select.select para las plataformas que lo soportan.
  • Uso Queue.LifoQueue lugar de Queue.Queue para la reutilización de conexión más agresivo. Configurable por razones imperiosas ConnectionPool.QueueCls.
  • ImportError Fijo instalar durante cuando el módulo SSL no está disponible. (Edición # 41)
  • PoolManager Fijo redirige entre los regímenes (como HTTP - & gt; HTTPS) no completaron correctamente. (Edición # 28, descubierto por Issue # 10 en v1.1)
  • dummyserver Portado a utilizar tornado en lugar de WebOb + eventlet. Eliminado backends pruebas dummyserver no compatibles extraños. Añadido pruebas de nivel de socket.
  • Más pruebas. Logro abierto:. 99% Cobertura

¿Cuál es nuevo en la versión 1.1:

  • refactorizado dummyserver a su propio módulo de espacio de nombres raíz (utilizado para la prueba ).
  • verificación nombre de host añadido para VerifiedHTTPSConnection por vendoring en ssl_match_hostname de Py32. (Edición # 25)
  • Fijo HTTP cross-anfitrión redirige al utilizar PoolManager. (Edición # 10)
  • decode_content Fijo siendo ignorada cuando se establece a través de urlopen. (Edición # 27)
  • error relacionado timeout-fijos. (Problemas # 17, # 23)

¿Qué hay de nuevo en la versión 1.0.2:

  • typo fijo en VerifiedHTTPSConnection que lo haría sólo está presente como un error si utiliza el objeto de forma manual. (Gracias pyos)
  • Hecho RecentlyUsedContainer (y consecuentemente PoolManager) más seguro para subprocesos envolviendo el registro de acceso en un mutex. (Graciaschrister)
  • Hecho RecentlyUsedContainer más-dict como (__delitem__ corregido y comportamiento __getitem__), con pruebas. No debe afectar código urllib3 núcleo.

¿Qué hay de nuevo en la versión 1.0.1:

  • Se ha corregido un error por el que la misma conexión conseguiría regresado en la piscina dos veces, causando extraños & quot; HttpConnectionPool está lleno & quot; ingrese advertencias.

Requisitos :

  • Python

Otro software de desarrollador Andrey Petrov

urllib3
urllib3

12 May 15

Comentarios a la urllib3

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!