Libro Python Aplicado de Eugenia Bahit. GNU/Linux, ciencia de datos, y desarrollo web

Banner de Python Aplicado

Conexiones remotas (HTTP, FTP y SSH)


Cita con formato IEEE:
E. Bahit, "Conexiones remotas (HTTP, FTP y SSH)", in Python Aplicado, 4th ed., EBRC Publisher, 2022, pp. 133-140.

Cita con formato APA 7:
Bahit, E. (2022). Conexiones remotas (HTTP, FTP y SSH). In Python Aplicado (4th ed., pp. 133-140). EBRC Publisher.

Cita en línea:
(Bahit, 2022)

Python provee dos bibliotecas, http y ftplib, para efectuar conexiones mediante los protocolos HTTP/HTTPS y FTP, respectivamente. Sin embargo, para realizar conexiones mediante el protocolo SSH, se empleará la biblioteca Paramiko7, creada por Robey Pointer8.

Conexiones remotas vía HTTP y HTTPS

Pueden efectuarse con el módulo client de la biblioteca http de Python. Para crear la conexión se utilizan las clases HTTPConnection y HTTPSConnection :

from http.client import HTTPConnection
http = HTTPConnection('host.com', port=80, timeout=10)

El número de puerto y el tiempo de espera, son dos parámetros opcionales, y son admitidos, junto al parámetro posicional host , por ambas clases.

Las solicitudes se realizan mediante el método request que requiere de dos parámetros posicionales:

  1. El método HTTP
  2. El recurso HTTP
http.request("GET", "/foo/bar")

Adicionalmente, admite otros parámetros como headers (un diccionario con campos de cabecera) y body (una cadena de texto), útiles sobre todo, para peticiones que requieren el envío de información, como por ejemplo, envío de datos por POST:

parametros = "nombre=Juan&apellido=Perez"
cabeceras = {
"Content-Type": "application/x-www-form-urlencoded"
}
http.request(...

La respuesta recibida, se obtiene mediante el método...

[7] https://www.paramiko.org/
[8] https://robey.lag.net/