Está en la página 1de 8

Requests

El módulo requests en Python es una biblioteca popular que permite realizar


solicitudes HTTP.

Permite enviar solicitudes HTTP/1.1 con diversas características, como agregar


encabezados personalizados, gestionar cookies y realizar solicitudes GET,
POST y otros métodos HTTP.

Para usarlo primero debemos instalarlo:

pip install requests


import requests

# Ejemplo de una API pública (pokeapi.co)


url = "https://pokeapi.co/api/v2/pokemon/1"

# Hacer una solicitud GET


response = requests.get(url)

# Verificar si la solicitud fue exitosa (código de estado 200)


if response.status_code == 200:
# Convertir la respuesta a formato JSON
data = response.json()

# Acceder a la información deseada (debemos conocer la estructura que recibiremos)


pokemon_name = data['name']
pokemon_types = [tipo['type']['name'] for tipo in data['types']]

# Imprimir la información en consola


print(f"Nombre del Pokémon: {pokemon_name}")
print(f"Tipos: {', '.join(pokemon_types)}")
else:
print(f"Error en la solicitud. Código de estado: {response.status_code}")
GET
#Ejemplo con una API pública de libros
#(la que generó los datos del TP7)
response_libros =
requests.get('https://openlibrary.org/search.json?author=tolkien&limit=100')

codigo_respuesta = response_libros.status_code
if codigo_respuesta == 200:
respuesta = response_libros.json()['docs']
# crear el archivo csv
crear_archivo_libros(respuesta)
POST
# URL de la API
url = "https://jsonplaceholder.typicode.com/posts"
# Datos a enviar en la solicitud POST
data = {"title": "Nuevo Post", "body": "Contenido del nuevo post", "userId": 1}
# Realizar una solicitud POST
response = requests.post(url, json=data)
print("Codigo de respuesta a la solicitud POST:", response.status_code)
# Verificar el código de estado
if response.status_code == 201:
# Procesar la respuesta
data = response.json()
print("Respuesta POST:")
print(data)
else:
print(f"Error en la solicitud. Código de estado: {response.status_code}")
PUT
# URL de la API
url = "https://jsonplaceholder.typicode.com/posts/1"
# Datos actualizados a enviar en la solicitud PUT
data = {"title": "Post Actualizado", "body": "Contenido actualizado", "userId":
1}
# Realizar una solicitud PUT
response = requests.put(url, json=data)
# Verificar el código de estado
if response.status_code == 200:
# Procesar la respuesta
data = response.json()
print("Respuesta PUT:")
print(data)
else:
print(f"Error en la solicitud. Código de estado: {response.status_code}")
DELETE
# URL de la API
url = "https://jsonplaceholder.typicode.com/posts/1"

# Realizar una solicitud DELETE


response = requests.delete(url)

# Verificar el código de estado


if response.status_code == 200:
print("Solicitud DELETE exitosa.")
else:
print(f"Error en la solicitud. Código de estado: {response.status_code}")
Verificar el tipo de respuesta
if response.status_code == 200:
# Obtener el tipo de contenido de la respuesta
content_type = response.headers.get('Content-Type', '')

# Verificar el tipo de contenido


if 'application/json' in content_type:
# La respuesta es de tipo JSON
data = response.json()
print("Respuesta JSON:", data)
elif 'text/html' in content_type:
# La respuesta es de tipo HTML
html_data = response.text
print("Respuesta HTML:", html_data)
elif 'application/xml' in content_type or 'text/xml' in content_type:
# La respuesta es de tipo XML
pass
else:
# Otro tipo de contenido
print(f"Tipo de contenido no manejado: {content_type}")
else:
print(f"Error: {response.status_code}")

También podría gustarte