我正在尝试使用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()
Run Code Online (Sandbox Code Playgroud)
C:\ python> python TestServer.py Traceback(最近一次调用最后一次):
文件"TestServer.py",第19行,在server = SocketServer.TCPServer((HOST,PORT),MyTCPHandler)文件"C:\ Python26\lib\SocketServer.py",第400行,在init self.server_bind()文件"C:\ Python26\lib\SocketServer.py",第411行,在server_bind中自我.socket.bind(self.server_address)文件"",行1,在绑定中socket.error:[Errno 10013]尝试以其访问权限禁止的方式访问套接字
我究竟如何在Windows 7上使用它?
[编辑于2010年5月5日@ 2344 PDT]此答案解释了该错误是由于在访问低于1024的端口时需要提升/超级用户权限.我将尝试使用更高的端口号来查看是否存在作品.但是,我仍然想知道为什么我的本地管理员帐户无法访问端口80.