返回固定頁面的web伺服器

2022-08-19 17:54:12 字數 1391 閱讀 6089

import socket

def handle_client(socket_con):

"""接收來自客戶端的請求,並接收請求報文,解析,返回

"""# 伺服器接收客戶端的請求報文

request = socket_con.recv(4096).decode()

print(request)

# 伺服器拼接響應報文並回覆

# response_body = '這是顯示的內容!\r\n'

# 在響應體這裡略作改動

# 確認頁面檔案的絕對路徑(根據實際情況填寫,因為寫成了r開啟檔案,不能是格式的,盡量是html格式的)

path = '# 確認頁面檔案的絕對路徑'

with open(path, 'r') as f:

response_body = f.read()

# 重新拼接響應體

response = response_line + response_head + '\r\n' + response_body

socket_con.send(response.encode())

socket_con.close()

def main():

# 伺服器建立負責監聽的socket

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

# 設定埠重用

socket_listen.setsockopt(socket.sol_socket, socket.so_reuseaddr, true)

# 繫結監聽埠

socket_listen.bind(('', 8888))

# 設定監聽佇列

socket_listen.listen(128)

# 通過迴圈不同的接受請求

while true:

# accept() 返回元組 (socket object, address info)

socket_con, socket_con_adds = socket_listen.accept()

# 列印提示資訊

print('客戶端:',socket_con_adds,'連線成功!')\

# 使用函式處理客戶端傳送的資訊

handle_client(socket_con)

if __name__ == '__main__':

main()

返回使用者指定頁面的web伺服器

import socket import re import os def handle client socket con 接收來自客戶端的請求,並接收請求報文,解析,返回 1 伺服器接收客戶端的請求報文 request socket con.recv 4096 decode 以行切割請求報文為列...

返回固定資料的web伺服器

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

WEB靜態伺服器1 顯示固定頁面

import socket defhandle client client socket rec data client socket.recv 1024 decode gbk response line header rec data.splitlines for line in response...