socket.error: [Erro 10013] Foi feita uma tentativa de acessar um soquete de uma maneira proibida por suas permissões de acesso

Estou tentando criar uma pilha TCP personalizada usando o Python 2.6.5 no Windows 7 para atender localmente solicitações de páginas http válidas na porta 80. Mas, me deparei com um problema que parece o Windows 7 aumentar a segurança. Este código funcionou no Vista.

Aqui está o meu código de exemplo:

import SocketServer
import struct

class MyTCPHandler(SocketServer.BaseRequestHandler):
    def handle(self):
        headerText = """HTTP/1.0 200 OK
                        Date: Fri, 31 Dec 1999 23:59:59 GMT
                        Content-Type: text/html
                        Content-Length: 1354"""
        bodyText = "<html><body>some page</body></html>"
        self.request.send(headerText + "\n" + bodyText)

if __name__ == "__main__":
    HOST, PORT = "localhost", 80
    server = SocketServer.TCPServer((HOST, PORT), MyTCPHandler)
    server.serve_forever()

C: \ python> python TestServer.py Traceback (última chamada mais recente):
Arquivo "TestServer.py", linha 19, no servidor = SocketServer.TCPServer ((HOST, PORT), MyTCPHandler) Arquivo "C: \ Python26 \ lib \ SocketServer.py", linha 400, eminiciar self.server_bind () Arquivo "C: \ Python26 \ lib \ SocketServer.py", linha 411, em server_bind self.socket.bind (self.server_address) Arquivo "", linha 1, em ligação

socket.error: [Erro 10013] Foi feita uma tentativa de acessar um soquete de uma maneira proibida por suas permissões de acesso

Como exatamente faço isso funcionar no Windows 7?

[Editar em 5/5/2010 às 2344 PDT]responda explica que o erro é causado pela necessidade de privilégios elevados / superusuário ao acessar portas inferiores a 1024. Vou tentar usar um número de porta maior para ver se isso funciona. No entanto, eu ainda gostaria de saber por que minha conta de administrador local não pode acessar a porta 80.

questionAnswers(10)

yourAnswerToTheQuestion