- ¿Qué son las solicitudes de Python?
- ¿Por qué utilizar solicitudes de Python?
- ¿Cómo instalar solicitudes de Python?
- Realización de solicitudes de obtención y publicación
- Pasar parámetros en URL
- Código de estado
- Contenido de respuesta
- Carga de archivos de varias partes
- Cookies y encabezados
- Objeto de sesión
- Errores y excepciones
¿Qué son las solicitudes de Python?
Las solicitudes de Python fueron escritas por Kenneth Reitz y con licencia de apache 2.0. Es una biblioteca HTTP amigable para los humanos, como se menciona en la página de documentación oficial. Es fácil de usar y básicamente se utiliza para realizar todo tipo de solicitudes HTTP. A continuación, se muestran algunas características avanzadas que vienen con las solicitudes:- Mantener vivo y agrupación de conexiones
- URL y dominios internacionales
- Sesiones con persistencia de cookies
- Verificación SSL al estilo del navegador
- Decodificación automática de contenido
- Autenticación básica / implícita
- Cookies elegantes de clave / valor
- Descompresión automática
- Cuerpos de respuesta Unicode
- Soporte de proxy HTTP
- Cargas de archivos de varias partes
- Descargas en streaming
- Tiempos de espera de conexión
- Solicitudes fragmentadas
¿Por qué utilizar solicitudes de Python?
¿Cuando se trata de por qué usamos solicitudes de Python? La razón es bastante simple. Mientras usa solicitudes de Python, no tiene que agregar manualmente las consultas a sus URL y codificar los datos de las publicaciones. Facilita nuestro trabajo a la hora de realizar solicitudes http de cualquier tipo.Ahora que estamos familiarizados con las solicitudes de Python y por qué las usamos en Python, intentemos comprender cómo vamos a instalar las solicitudes en nuestro proyecto o sistema.¿Cómo instalar solicitudes de Python?
La parte de instalación también es muy fácil. Si tiene la configuración de pipenv instalada en su sistema, simplemente puede ejecutar el siguiente comando en la terminal.solicitudes de instalación de $ pip
Esto instalará la biblioteca de solicitudes en su sistema. Hay un enfoque más para instalar solicitudes. Si está utilizando pycharm, puede agregar solicitudes en el intérprete del proyecto en la configuración. Tiene el mismo propósito que el terminal en caso de instalar la biblioteca en nuestro proyecto.Ahora que hemos terminado con la instalación, intentemos comprender cómo realizaremos las solicitudes get y post en python.¿Cómo realizar solicitudes de obtención y publicación?
Get request se utiliza básicamente para solicitar los datos del servidor. A continuación se muestra la sintaxis para realizar una solicitud de obtención.importar solicitudes res = solicitudes.get ('url') #res es el objeto de respuesta aquí.La solicitud de publicación se utiliza para enviar los datos que se procesarán al servidor. A continuación se muestra la sintaxis para realizar una solicitud de publicación.
importar solicitudes carga útil = {'clave1': 'valor1'} res = solicitudes.post ('url', datos = carga útil)Ahora que sabemos cómo podemos realizar solicitudes de obtención y publicación, echemos un vistazo a cómo podemos pasar parámetros a la URL mediante la solicitud de obtención.
Pasar parámetros en una URL
Pasar parámetros en una URL es tan simple como realizar una solicitud de obtención. A continuación se muestra un ejemplo para pasar parámetros a la URL.importar solicitudes carga útil = {'clave1': 'valor1', 'clave2': 'valor2'} res = solicitudes.get ('url', params = carga útil) print (res.url) # esto imprimirá la URL con los parámetros pasó a través de la solicitud de obtención.
Código de estado
También podemos verificar el código de estado, el siguiente es el código para verificar el código de estado:
importar solicitudes res = solicitudes.get ('url') imprimir (res.status_code ())Si el código devuelve 200, significa que no hay ningún error y la solicitud está bien. Si hacemos una solicitud incorrecta, el código devolverá un código como 404 o 505 que generará un error http.
Contenido de respuesta
También podemos leer el contenido de la respuesta del servidor. La biblioteca decodificará automáticamente el contenido del servidor.importar solicitudes res = solicitudes.get ('url') imprimir (res.content)
Requests también tiene un decodificador json incorporado.
importar solicitudes res = solicitudes.get ('url') print (res.json ()) # esto obtendrá la respuesta en formato json
Carga de archivos de varias partes
Es muy fácil cargar archivos de varias partes mediante solicitudes.importar solicitudes archivos = {'archivo': open ('nombre de archivo', 'rb')} res = solicitudes.post ('url', archivos = archivos) imprimir (res.text)Para enviar varios archivos, especificaremos varios archivos en el parámetro de archivos.
Cookies y encabezados
Podemos ver los encabezados de respuesta del servidor y las cookies utilizando el objeto de respuesta. A continuación se muestra el código para ver los encabezados del servidor.importar solicitudes res = request.get ('url') print (res.headers)También podemos pasar encabezados personalizados a la URL. Echemos un vistazo al código.
importar encabezados de solicitudes = {'clave1': 'valor1'} res = solicitudes.get ('url', encabezados = encabezados) imprimir (res.cabezados)Requests no cambia su comportamiento según los encabezados personalizados. Simplemente se pasan a la solicitud final. galletas también se puede ver utilizando el objeto de respuesta.
importar solicitudes #para pasar nuestras propias cookies podemos usar el parámetro cookies cookies = dict (cookies = 'trabajando') res = request.get ('url', cookies = cookies) print (res.text)
Las cookies se devuelven en un RequestCookieJar, que actúa como un diccionario pero también ofrece una interfaz más completa, adecuada para su uso en múltiples dominios o rutas.
una matriz de objetos java
Objeto de sesión
El objeto de sesión le permite conservar ciertos parámetros en las solicitudes.- Persiste las cookies en todas las solicitudes realizadas desde la instancia de sesión
- Usar agrupación de conexiones urllib3
- Incremento significativo del desempeño
- Un objeto de sesión tiene todos los métodos de la API de solicitudes principales
s = request.session () s.get ('url') res = s.get ('url') print (res.text)
Errores y excepciones
A continuación se muestran los errores y las excepciones que se generan en una solicitud de Python.- En el caso de un problema de red, las solicitudes generarán una excepción ConnectionError.
- Response.raise_for_status () generará un error HTTP cuando haya un código de estado incorrecto.
- Si hay un tiempo de espera, generará una excepción de tiempo de espera
- La excepción TooManyRedirects se genera si la solicitud excede el número configurado de número máximo de redireccionamientos.