El internet¶
Internet es un aspecto omnipresente en la informática moderna. Incluso pequeñas secuencias de comandos de uso simple interactúan frecuentemente con servicios remotos para enviar o recibir datos. El rico conjunto de herramientas de Python para trabajar con los protocolos web lo hace muy adecuado para programar aplicaciones basadas en web, ya sea como cliente o servidor.
El módulo urllib.parse
manipula cadenas URL, dividiendo y combinando sus
componentes, y es útil en clientes y servidores.
El módulo urllib.request
implementa una interfaz para recuperar
contenido de forma remota.
Las solicitudes HTTP POST suelen estar codificadas «form encoded» con
urllib
. Datos binarios enviados a través de un POST deben codificarse
con base64
primero, para cumplir con el estándar de formato de mensaje.
Clientes bien educados que acceden a muchos sitios como una araña o un
rastreador debería usar urllib.robotparser
para asegurarse que tienen
permiso antes de colocar una carga pesada en el servidor remoto.
Para crear un servidor web personalizado con Python, sin requerir marcos
externos, use http.server
como punto de partida. Éste maneja el
protocolo HTTP, por lo que la única personalización necesaria es el código de
aplicación para responder a las solicitudes entrantes.
El estado de la sesión en el servidor se puede gestionar a través de cookies
creadas y analizadas por el módulo http.cookies
. Soporte completo para
la caducidad, la ruta, el dominio y otras configuraciones de cookies hacen que
sea fácil configurar la sesión
El módulo uuid
se usa para generar identificadores para recursos que
necesitan valores únicos. UUIDs son buenos para generar valores Uniform
Resource Name (URN) automáticamente, donde el nombre del recurso debe ser
único, pero no necesita transmitir ningún significado.
La biblioteca estándar de Python incluye soporte para dos mecanismos de control
de ejecución remota de procesos basados en la web. El esquema de codificación
de la notación JavaScript de objetos (JSON) utilizada en comunicación AJAX e
interfaces REST está implementada en json
. Funciona igualmente bien en
el cliente o el servidor. Bibliotecas completas de servidor y cliente XML-RPC
también se incluyen en xmlrpc.client
y xmlrpc.server
respectivamente.
- urllib.parse — Dividir URLs en componentes
- urllib.request — Acceso a recursos en red
- urllib.robotparser — Control de acceso a arañas de Internet
- base64 — Codificar datos binarios con ASCII
- http.server — Clases base para implementar servidores Web
- http.cookies — Cookies HTTP
- webbrowser — Mostrar páginas Web
- uuid — Identificadores universalmente únicos
- json — Notación de objetos JavaScript
- xmlrpc.client — Biblioteca de cliente para XML-RPC
- xmlrpc.server — Un servidor XML-RPC