Open In App

File Sharing App using Python

Computer Networks is an important topic and to understand the concepts, practical application of the concepts is needed. In this particular article, we will see how to make a simple file-sharing app using Python.  An HTTP Web Server is software that understands URLs (web address) and HTTP (the protocol used to view webpages). Python has several packages which is a collection of modules. And it has several built-in servers. The modules used in this project are:

Step-by-step Approach:

pip install pyqrcode
pip install pypng

Implementation of the above Approach:




# 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()

Output:





Demonstration:

Why Port 8010 ? 

TCP Port 8010 use a defined protocol to communicate depending on the application. A protocol is a set of formalized rules that explains how data is communicated over a network. This is secured and is not infected by Virus/Trojan.

Explanation:


Article Tags :