python靜態(tài)web服務(wù)器如何實(shí)現(xiàn)的方法:
1、編寫TCP服務(wù)器程序。
2、獲取瀏覽器發(fā)送的http請(qǐng)求消息數(shù)據(jù)。
3、讀取固定的頁(yè)面數(shù)據(jù),將頁(yè)面數(shù)據(jù)組裝成HTTP響應(yīng)消息數(shù)據(jù)并發(fā)送給瀏覽器。
4、HTTP響應(yīng)報(bào)文數(shù)據(jù)發(fā)送完成后,關(guān)閉服務(wù)于客戶端的套接字。
實(shí)例
#時(shí)間:2021/10/2120:38
importsocket
if__name__=='__main__':
#創(chuàng)建tcp服務(wù)端套接字
tcp_server_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#設(shè)置端口號(hào)復(fù)用,程序退出端口立即釋放
tcp_server_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,True)
#綁定端口號(hào)
tcp_server_socket.bind(("",8080))
#設(shè)置監(jiān)聽(tīng)
tcp_server_socket.listen(128)
whileTrue:
#等待接受客戶端的連接請(qǐng)求
new_socket,ip_port=tcp_server_socket.accept()
#代碼執(zhí)行到此,說(shuō)明連接建立成功
recv_client_data=new_socket.recv(4096)
#對(duì)二進(jìn)制數(shù)據(jù)進(jìn)行解碼
recv_client_content=recv_client_data.decode)
print(recv_client_content)
#響應(yīng)行
response_line="HTTP/1.1200OK\r\n"
#響應(yīng)頭
response_header="Server:py1.0\r\n"
#響應(yīng)體
response_body="Hello,guys!"
#拼接響應(yīng)報(bào)文
response_data=(response_line+response_header+"\r\n"+response_body).encode()
#發(fā)送數(shù)據(jù)
new_socket.send(response_data)
#關(guān)閉服務(wù)與客戶端的套接字
new_socket.close()
以上內(nèi)容為大家介紹了python培訓(xùn)之靜態(tài)web服務(wù)器如何實(shí)現(xiàn),希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。