如果端口80正忙,则对其进行更改



我有一个任务要通过使用LAN在TCP上创建一个web服务器,该项目是在端口80上向localhost发出请求,并呈现"嗨"在浏览器中;404未找到";如果请求是错误的,我有一个问题,端口80正忙,当使用除80以外的任何端口时,它都会停止工作,来自分配的提示是"0";如果您在已经有Web服务器运行的主机上运行服务器,那么您应该为Web服务器使用不同于端口80的端口"我的代码是:

from socket import *
import os

def test():
serverPort = 80
serverSocket = socket(AF_INET, SOCK_STREAM)
serverSocket.bind(('', serverPort))
serverSocket.listen(1)
print("web server on port", serverPort)
while True:
print("ready to serve")
connectionSocket, addr = serverSocket.accept()
try:
message = connectionSocket.recv(1024)
print(message)
filename = message.split()[1]
print(filename[1:])
print(filename, '||', filename[1])
f = open(filename[1:])
outputdata = f.read()
connectionSocket.send(outputdata.encode())
connectionSocket.close()
except Exception:
print("404 Not Found")
connectionSocket.send("""404 Not Foundrn""".encode())
pass
pass
if __name__ == "__main__":
test()  

只需检查端口是否已在使用

def check(port):
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
return s.connect_ex(('localhost', serverPort)) == 0

最新更新