Programación de red Python – Clientes HTTP

La solicitud del cliente en el protocolo HTTP llega al servidor y obtiene algunos datos asumiendo que es una solicitud válida. Esta respuesta del servidor se puede analizar utilizando varios métodos proporcionados por el módulo de requests . Algunas de las formas a continuación brindan información sobre la respuesta enviada desde el servidor al programa Python que se ejecuta en el lado del cliente:

Obtener respuesta inicial

El método get() se utiliza para obtener la información básica de los recursos utilizados en el lado del servidor. Esta función obtiene los datos del servidor y los devuelve como un objeto de respuesta que se puede imprimir en un formato de texto simple.

Python3

# Import libraries
import requests
  
# Sending Request
req = requests.get('https://www.geeksforgeeks.org/')
  
# Show results
print(req.text[:2000])

Producción:

Obtener información de la sesión

El método session() devuelve el objeto de sesión que proporciona ciertos parámetros para manipular las requests. También puede manipular cookies para todas las requests iniciadas desde el objeto de sesión. Si se realiza una gran cantidad de requests a un solo host, se recupera la conexión TCP asociada.

Python3

# Import Libraries
import requests
  
# Creating Session
s = requests.Session()
s.get('http://httpbin.org/cookies/set/sessioncookie/419735271')
  
# Getting Response
r = s.get('http://httpbin.org/cookies')
  
# Show Response
print(r.text)

Producción:

{
  "cookies": {
    "sessioncookie": "419735271"
  }
}

Manejo de errores

Si se genera algún error al procesar la solicitud al servidor, el programa genera la excepción, que se puede manejar mediante el atributo de tiempo de espera, que define el valor de tiempo hasta que el programa espera y, después de eso, genera el error de tiempo de espera.

Python3

# Import Libraries
import requests
  
# Error Handling
try:
      
    # Creating Request
    req = requests.get('https://www.geeksforgeeks.org/', timeout=0.000001)
      
except requests.exceptions.RequestException as e:
      
    # Raising Error
    raise SystemExit(e)

Producción:

HTTPSConnectionPool(host=’www.geeksforgeeks.org’, port=443): Se excedieron los reintentos máximos con url: / (Causado por ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x0000018CFDAD83C8>, ‘Se agotó el tiempo de espera de la conexión a www.geeksforgeeks.org) (tiempo de espera de conexión=1e-06)’))

Publicación traducida automáticamente

Artículo escrito por jeeteshgavande30 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *