Aplicación para compartir archivos usando Python

Redes informáticas es un tema importante y para comprender los conceptos, se necesita la aplicación práctica de los conceptos. En este artículo en particular, veremos cómo crear una aplicación simple para compartir archivos usando Python.  Un servidor web HTTP es un software que comprende URL ( dirección web ) y HTTP ( el protocolo utilizado para ver páginas web ). Python tiene varios paquetes que son una colección de módulos. Y tiene varios servidores integrados. Los módulos utilizados en este proyecto son:

  • El HTTPServer es un servidor de socket , que crea y escucha en el socket HTTP.
  • Los módulos socketserver simplifican la tarea de escribir servidores de red.
  • El módulo webbrowser nos proporciona una interfaz de alto nivel para permitir y mostrar documentos basados ​​en la Web, simplemente llamando a la función open().
  • El módulo pyqrcode se utiliza para generar código QR en solo dos líneas de código.
  • El módulo OS ayuda a interactuar con el sistema operativo. Se utiliza para abrir archivos, manipular rutas y leer todas las líneas de todos los archivos en la línea de comandos.
  • PyPNG permite leer y escribir archivos de imagen PNG utilizando Python puro

Enfoque paso a paso:

  • Instalar módulos de terceros:
pip install pyqrcode
pip install pypng
  • Instale las dependencias usando pip install en la línea de comandos.
  • Importación de módulos necesarios:
    • http.server y socketserver: Para alojar en el navegador.
    • pyqrcode : Para generar código QR.
    • png: Para convertir el QRCode en un archivo png.
    • OS: Para interactuar con el Sistema Operativo.
  • Asignar puerto y nombre del usuario.
  • Encuentre la dirección IP de la PC y conviértala en un código QR.
  • Cree la solicitud HTTP.
  • Muestra el código QR en el navegador.

Implementación del enfoque anterior:

Python3

# import necessary modules
 
# for implementing the HTTP Web servers
import http.server
 
# provides access to the BSD socket interface
import socket
 
# a framework for network servers
import socketserver
 
# to display a Web-based documents to users
import webbrowser
 
# to generate qrcode
import pyqrcode
from pyqrcode import QRCode
 
# convert into png format
import png
 
# to access operating system control
import os
 
 
# assigning the appropriate port value
PORT = 8010
# this finds the name of the computer user
os.environ['USERPROFILE']
 
 
# changing the directory to access the files desktop
# with the help of os module
desktop = os.path.join(os.path.join(os.environ['USERPROFILE']),
                       'OneDrive')
os.chdir(desktop)
 
 
# creating a http request
Handler = http.server.SimpleHTTPRequestHandler
# returns, host name of the system under
# which Python interpreter is executed
hostname = socket.gethostname()
 
 
# finding the IP address of the PC
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("8.8.8.8", 80))
IP = "http://" + s.getsockname()[0] + ":" + str(PORT)
link = IP
 
 
# converting the IP address into the form of a QRcode
# with the help of pyqrcode module
 
# converts the IP address into a Qrcode
url = pyqrcode.create(link)
# saves the Qrcode inform of svg
url.svg("myqr.svg", scale=8)
# opens the Qrcode image in the web browser
webbrowser.open('myqr.svg')
 
 
# Creating the HTTP request and  serving the
# folder in the PORT 8010,and the pyqrcode is generated
 
# continuous stream of data between client and server
with socketserver.TCPServer(("", PORT), Handler) as httpd:
    print("serving at port", PORT)
    print("Type this in your Browser", IP)
    print("or Use the QRCode")
    httpd.serve_forever()

Producción:

  • Abra el archivo python que tiene el código anterior en la PC.
  • Esto generará un código QR.

  • Escanee el código QR o escriba la dirección IP que se muestra en el shell de python en su navegador móvil.

  • Comparta los archivos con facilidad escaneando el código QR que se genera y obtenga acceso a los archivos en la PC, desde el navegador móvil.

Demostración:

¿Por qué Puerto 8010? 

El puerto TCP 8010 utiliza un protocolo definido para comunicarse según la aplicación. Un protocolo es un conjunto de reglas formalizadas que explica cómo se comunican los datos a través de una red. Esto está protegido y no está infectado por virus/troyanos.

Explicación:

  • El código encuentra el nombre del PERFIL DE USUARIO a través del módulo OS . Y cambia el directorio para acceder a los archivos en el escritorio.
  • Encuentra el nombre de host para servir el archivo en un puerto particular para compartir de forma segura.
  • Luego encuentra la dirección IP del sistema para que podamos conectar un dispositivo en particular.
  • La dirección IP se convierte en forma de código QR utilizando el módulo pyqrcode para facilitar su uso.
  • La imagen generada se aloja en un navegador web.
  • Una vez que el dispositivo se conecta a la misma red, o escanea el código QR o escribe la dirección IP, puede acceder a los archivos del sistema.

Publicación traducida automáticamente

Artículo escrito por pradyneel 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 *