Python -Веб-сервер с сокетами - PullRequest
       57

Python -Веб-сервер с сокетами

0 голосов
/ 17 февраля 2020

Привет, я новичок, и с 1 недели я пытался выполнить это упражнение. У меня не было успеха. Возможно ты можешь помочь мне.

Написать небольшой Python веб-сервер; При запуске в командной строке следует указать порт TCP и каталог root (значения по умолчанию: порт 8000 и root каталог ".", Ie текущий каталог). Сервер должен начать новый процесс для каждого запроса. Если желаемый путь к файлу доступен, этот файл должен быть возвращен; Вы можете использовать простую схему типа файла для типа контента: .htm или. html приводит к тексту / html, .txt становится text / plain, все остальное - application / octet-stream. Если вы хотите, вы можете определить другие типы. Обратите внимание, что после прочтения файла вы должны определить его размер для длины содержимого и закрыть соединение с заголовком «Соединение: закрыть», чтобы не оставлять открытыми многочисленные процессы. Если файл не найден, вернуть статус «404 Not Found»

Мой код: # SERVER

import socket
import os
import sys
PORT = input("Give me the Port: ")
PORT = int(PORT)
user_root_directory = input("Give me the Root directory: ")
user_root_director = str(user_root_directory)
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind((socket.gethostname(), PORT))
s.listen(5)
while True:
    client, address = s.accept()
    print(f"Connection to {address} established")
    client.send(bytes("Socket Programming in Python", "utf-8"))

CLIENT

import socket
import os


PORT = input("Give me the port: ")
PORT = int(PORT)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((socket.gethostname(), PORT))

На данный момент я не знаю, как продолжить.

...