me gustaría decir algo sobre urllib
, urllib2
, httplib
y .
La principal diferente entre urllib*
y httplib*
es que:
httplib y httplib2 maneja HTTP/HTTPS solicitud y respuesta directa y le dará más espacio para hacer su propio trabajo.
urllib y urllib2 se basan en httplib, son más abstractos y potentes, pero a veces no cumplirán con su necesidad especificada sobre algunas operaciones relacionadas con HTTP.
Y para httplib
y , diría que ambos son HTTP client library
. Sin embargo, es mucho más potente y tiene muchas más funciones que httplib
.
En cuanto a urllib
y urllib2
, cita de this link:
urllib y urllib2 son los dos módulos de Python que hacen URL relacionada con la solicitud cosas, pero ofrecen diferentes funcionalidades. Sus dos diferencias más significativas se enumeran a continuación:
- urllib2 puede aceptar un objeto Solicitud para establecer los encabezados de una solicitud de URL, urllib acepta solo una URL. Esto significa que no puede enmascarar su cadena de agente de usuario, etc.
- urllib proporciona el método urlencode que se utiliza para la generación de cadenas de consulta GET, urllib2 no tiene dicha función. Esta es una de las razones por las que urllib se usa a menudo junto con urllib2.
recomendaría mi blog personal Httplib Httplib2 Urllib Urllib2-what’s the Difference.
espero que ayude :-)
Recuerda que en Python 3.x 'urllib' y' urllib2' han sido ** unificados ** en un solo módulo 'urllib'. Así que 2.x 'urllib' y 3.x' urllib' NO son los mismos módulos. – treecoder
Para aquellos con la misma pregunta (proveniente de Google), sepan que todas estas respuestas son geniales. Pero también sepa que la respuesta a "Qué biblioteca debe usar" depende en gran medida de lo que es importante para usted: ¿desea una API amigable O algo que automatice la configuración y haga que un GET sea muy simple de hacer? ¿Es usted libre de elegir su propia biblioteca, O está teniendo una biblioteca "integrada" (es decir, tendría que admitir usuarios que no tienen instalado "httplib2") algo que es importante para usted? Hay un caso para muchas bibliotecas porque el módulo incorporado de Python no puede satisfacerlas a todas. –
Pruebe [requests] (http://pypi.python.org/pypi/requests), el módulo muy simple y poderoso basado en urllib2-docs [aquí] (http://docs.python-requests.org/en/ latest/index.html). – Ambyte