How do I construct a python web server using this code? #import socket module fr
ID: 648772 • Letter: H
Question
How do I construct a python web server using this code?
#import socket module
from socket import *
serverSocket = socket(AF_INET, SOCK_STREAM)
#Prepare a sever socket
#Fill in start
#Fill in end
while True:
#Establish the connection
print 'Ready to serve...'
connectionSocket, addr = #Fill in start #Fill in end
try:
message = #Fill in start #Fill in end
filename = message.split()[1]
f = open(filename[1:])
outputdata = #Fill in start #Fill in end
#Send one HTTP header line into socket
#Fill in start
#Fill in end
#Send the content of the requested file to the client
for i in range(0, len(outputdata)):
connectionSocket.send(outputdata[i])
connectionSocket.close()
except IOError:
#Send response message for file not found
#Fill in start
#Fill in end
#Close client socket
#Fill in start
#Fill in end
serverSocket.close()
Explanation / Answer
import socket, struct def main(host): # Connect to server and get image size. client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect((host, 65000)) packed = recvall(client, struct.calcsize('!I')) # Decode the size and get the image data. size = struct.unpack('!I', packed)[0] print('Receiving data from:', host) data = recvall(client, size) # Shutdown the socket and create the image file. client.shutdown(socket.SHUT_RDWR) client.close() with open('image.bmp', 'wb') as file: file.write(data) def recvall(sock, size): message = bytearray() # Loop until all expected data is received. while len(message)Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.