web伺服器預設返回首頁版

2021-08-20 04:56:12 字數 2253 閱讀 3667

當開啟乙個瀏覽器之後,伺服器肯定會預設開啟首頁,因此設計為首頁模式

import socket

import re

def work(request):

'''從瀏覽器請求裡解析出資源路徑'''

#獲取請求行

head_list = re.split(r'\r\n',request)

request_line = head_list[0]

#獲取到請求的資源路徑

data = re.split(r' ',request_line)

return data[1]

#對路徑的安全檢查

path = data[1]

if path == '/':

path = '/index.html'

return path

def handle_client(client_soc):

'''獲取乙個客戶端請求'''

#獲取請求頭

client_msg = client_soc.recv(1024*4)

print(client_msg)

if not client_msg:

print('客戶端已經關閉鏈結')

client_soc.close()

return

#獲取使用者請求的資源路徑

path = work(client_msg.decode('utf-8'))#建立了乙個尋求資源路徑的物件

try:

#讀取檔案內容

with open('html/html'+ path,'rb') as file:

file_content = file.read()

#返回響應資料

#讀取404檔案內容

with open('html/404.html','rb') as file:

file_content = file.read()

#處理響應資料

#關閉客戶端套接字

client_soc.close()

def main():

'''建立乙個能響應瀏覽器請求的web伺服器'''

#初始化伺服器套接字

server_soc = socket.socket(socket.af_inet,socket.sock_stream)

server_soc.setsockopt(socket.sol_socket, socket.so_reuseaddr, 1)  # 設定套接字復用位址

server_soc.bind(('',1419))

server_soc.listen(128)

while true:

#獲取客戶端鏈結

print('正在準備客戶端鏈結...')

client_soc,client_addr = server_soc.accept()

#為乙個客戶端提供服務

handle_client(client_soc)

#關閉伺服器套接字

HTTP伺服器返回web瀏覽器指定檔案版

從瀏覽器解析資源路徑 獲取請求行 head list re.split r r n request print head list request line head list 0 獲取請求資源路徑 datas re.split r request line print datas 對路徑的安全檢查...

Python 開發web伺服器,返回HTML頁面

python 開發web靜態伺服器 返回固定值 胖子老闆,來包檳榔 從上乙個篇章的內容中已經完成了使用tcp協議返回http的請求,達到乙個返回資料到訪問瀏覽器的效果。那麼本次篇章的需求 就是返回乙個html檔案到瀏覽器。那麼該怎麼去開發這個功能呢?那麼還有乙個問題,就是訪問瀏覽器的時候的url路徑...

返回固定頁面的web伺服器

import socket def handle client socket con 接收來自客戶端的請求,並接收請求報文,解析,返回 伺服器接收客戶端的請求報文 request socket con.recv 4096 decode print request 伺服器拼接響應報文並回覆 respo...