CodeGym /Curso de Java /Python SELF ES /Trabajo con la red

Trabajo con la red

Python SELF ES
Nivel 23 , Lección 2
Disponible

3.1 Módulo requests

Para trabajar con Internet en Python de manera básica, hay una biblioteca llamada requests. Ofrece una interfaz cómoda para trabajar con la red, permitiendo enviar solicitudes HTTP y recibir respuestas con un mínimo de esfuerzo.

Esta biblioteca no viene con Python, así que antes de usarla necesitas instalarla usando el gestor de paquetes.

Abre tu terminal y escribe:


pip install requests
        

Después de instalar la biblioteca, puedes usar el módulo requests en tus proyectos. Por ejemplo, así puedes determinar tu dirección IP externa:


import requests

response = requests.get("http://ip.jsontest.com/")
print(response.status_code)  # Muestra el código de estado de la respuesta
print(response.json())       # Muestra la respuesta JSON

Aquí enviamos una solicitud al servicio (sitio) ip.jsontest.com, que devuelve un objeto JSON con la dirección IP desde la cual se hizo la solicitud. La solicitud y la obtención de la respuesta se realiza en una sola línea — es muy conveniente. En las otras líneas simplemente imprimimos la respuesta del servidor.

En el ejemplo anterior, llamamos al método get(); a continuación te hablaré de este método y de otros métodos del objeto requests.

3.2 Lista de métodos

El objeto requests tiene métodos para todas las ocasiones, es decir, un método para cada tipo de solicitud HTTP.

Método Descripción
requests.get() Envía una solicitud GET para obtener datos del servidor.
requests.post() Envía una solicitud POST para enviar datos al servidor.
requests.put() Envía una solicitud PUT para actualizar datos en el servidor.
requests.delete() Envía una solicitud DELETE para eliminar datos del servidor.
requests.head() Envía una solicitud HEAD para obtener encabezados sin cuerpo de respuesta.
requests.options() Envía una solicitud OPTIONS para obtener métodos y parámetros soportados por el servidor.
requests.patch() Envía una solicitud PATCH para actualizar parcialmente datos en el servidor.
requests.request() Método principal para enviar todo tipo de solicitudes HTTP.

A continuación veremos las más básicas.

3.3 Envío de solicitud GET y solicitud POST

Una solicitud GET usualmente consiste solo en una URL, o puede contener una cadena adicional de parámetros.

1. Envío de una solicitud GET pura

La solicitud GET se usa para obtener datos del servidor. El parámetro obligatorio es la URL a la que se envía la solicitud.

Ejemplo:


import requests

response = requests.get('https://jsonplaceholder.typicode.com/posts')
print(response.status_code)  # Muestra el código de estado de la respuesta
print(response.json())       # Muestra la respuesta JSON

2. Envío de solicitud GET con parámetros

También la URL puede contener parámetros adicionales en forma de cadena key=value&key2=value2&…

En nuestro caso, los parámetros se pasan en forma de diccionario y la variable params:


import requests

params = {'userId': 1}
response = requests.get('https://jsonplaceholder.typicode.com/posts', params=params)
print(response.json())

3. Envío de solicitud POST

La solicitud POST puede contener un cuerpo de solicitud: texto, JSON o incluso una imagen.

Ejemplo:


import requests

data = {
    'title': 'foo',
    'body': 'bar',
    'userId': 1
}
response = requests.post('https://jsonplaceholder.typicode.com/posts', json=data)
print(response.status_code)
print(response.json())

3.4 Envío de solicitud PUT y solicitud DELETE

1. Envío de solicitud PUT

La solicitud PUT se usa para actualizar datos en el servidor.


import requests

data = {
    'title': 'foo',
    'body': 'bar',
    'userId': 1
}
response = requests.put('https://jsonplaceholder.typicode.com/posts/1', json=data)
print(response.status_code)
print(response.json())

2. Envío de solicitud DELETE

La solicitud DELETE se usa para eliminar datos del servidor.


import requests

response = requests.delete('https://jsonplaceholder.typicode.com/posts/1')
print(response.status_code)
print(response.json())

Para entender mejor la esencia de las solicitudes GET, POST, PUT y DELETE, necesitas leer las lecciones sobre cómo funciona la red, Internet, la web y HTTP. Todo esto te espera en un futuro cercano.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION