我正在尝试在 Windows 7 上使用 Python 2.6.5 创建一个自定义 TCP 堆栈,以在本地端口 80 上提供有效的 http 页面请求。但是,我遇到了一个似乎 Windows 7 加强了安全性的障碍。此代码适用于 Vista。
这是我的示例代码:
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(最近一次调用最后):
文件“TestServer.py”,第 19 行,服务器 = SocketServer.TCPServer((HOST, PORT), MyTCPHandler) 文件“C:\Python26\lib \SocketServer.py",第 400 行,在init self.server_bind() 文件中 "C:\Python26\lib\SocketServer.py",第 411 行,在 server_bind self.socket.bind(self.server_address) 文件中"",行1、在绑定socket.error: [Errno 10013] 试图以访问权限禁止的方式访问套接字
我究竟如何让它在 Windows 7 上运行?
[编辑于 2010 年 5 月 5 日 @ 2344 PDT] 这个答案解释了该错误是由于在访问低于 1024 的端口时需要提升/超级用户权限引起的。我将尝试使用更高的端口号来查看是否作品。但是,我仍然想知道为什么我的本地管理员帐户无法访问端口 80。