HTTP-запрос favicon.ico - PullRequest
       9

HTTP-запрос favicon.ico

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

Я хотел бы написать простой HTTP-сервер, поэтому я начну с этого:

import socket

def create_message (html_txt) :
    message = 'HTTP/1.1\nContent-Type: text/html\n\n' + html_txt
    return message.encode()

class http_server :
    def __init__ (self) :
        self.routes = {}

    def add_routes (self, route, message) :
        self.routes[route] = message

    def run(self) :
        serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        serversocket.bind(("localhost", 12345))
        while 1 :
            serversocket.listen(1)
            (clientsocket, address) = serversocket.accept()
            print("HTTP Request receive")
            message = clientsocket.recv(1024).decode()
            key = message.split()[1]
            print('Message :', message)
            print('The key is :', key)
            if key in self.routes.keys() :
                sent = clientsocket.send(create_message(self.routes[key]))
                print("HTTP Response send")

С этой тестовой программой:

import http_server

server = http_server.http_server()
server.add_routes('/', "<!DOCTYPE html>\n<html>\n<body>\n<b>Hello World</b>\n</body>\n</html>")
server.add_routes('/toto', "<!DOCTYPE html>\n<html>\n<body>\n<b>Hello Toto</b>\n</body>\n</html>")
server.run()

Но когда я хотел бы / или / toto путь, я иногда получаю запрос /favicon.ico, тогда как я не помещаю его в HTML сообщение

Как ответить (или удалить) этот запрос?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...