Python網路程式設計--tcp應用之http傳輸--HttpServer V1.0
阿新 • • 發佈:2018-12-15
按照HTTP協議的請求和響應格式,完成一次資料請求和響應。
from socket import * def handleclient(connfd): request=connfd.recv(4096) # print(request) #將request請求按行分隔 request_lines=request.splitlines() for line in request_lines: print(line.decode()) try: f=open('index.html') except IOError: response='HTTP/1.1 404 not found\r\n' response+='\r\n'#空行 response+='******sorry not found******' else: response='HTTP/1.1 200 OK\r\n' response+='\r\n'#空行 response+=f.read() finally: #傳送給瀏覽器 connfd.send(response.encode()) #建立套接字 def main(): sockfd=socket() sockfd.setsockopt(SOL_SOCKET,SO_REUSEADDR,1) sockfd.bind(('0.0.0.0',6566)) sockfd.listen(5) print('listen to the port 6566') while True: connfd,addr=sockfd.accept() #處理請求 handleclient(connfd) connfd.close() if __name__=='__main__': main()