Web靜態伺服器 python顯示固定的頁面

2021-09-26 13:35:48 字數 3403 閱讀 2202

#coding=utf-8

import socket

def handle_client(client_socket):

"為乙個客戶端進行服務"

recv_data = client_socket.recv(1024).decode("utf-8")

request_header_lines = recv_data.splitlines()

for line in request_header_lines:

print(line)

# 組織相應 頭資訊(header)

response_headers = "http/1.1 200 ok\r\n" # 200表示找到這個資源

response_headers += "\r\n" # 用乙個空的行與body進行隔開

# 組織 內容(body)

response_body = "hello world"

response = response_headers + response_body

client_socket.send(response.encode("utf-8"))

client_socket.close()

def main():

"作為程式的主控制入口"

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

# 設定當伺服器先close 即伺服器端4次揮手之後資源能夠立即釋放,這樣就保證了,下次執行程式時 可以立即繫結7788埠

server_socket.setsockopt(socket.sol_socket, socket.so_reuseaddr, 1)

server_socket.bind(("", 7788))

server_socket.listen(128)

while true:

client_socket, client_addr = server_socket.accept()

handle_client(client_socket)

if __name__ == "__main__":

main()

伺服器端

客戶端

"為乙個客戶端進行服務"

# 如果沒有指定訪問哪個頁面。例如index.html

# 404表示沒有這個頁面

# 因為頭資訊在組織的時候,是按照字串組織的,不能與以二進位制開啟檔案讀取的資料合併,因此分開傳送

# 先傳送response的頭資訊

client_socket.send(response_headers.encode('utf-8'))

# 再傳送body

client_socket.send(response_body)

client_socket.close()

def main():

"作為程式的主控制入口"

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

server_socket.setsockopt(socket.sol_socket, socket.so_reuseaddr, 1)

server_socket.bind(("", 7788))

server_socket.listen(128)

while true:

client_socket, clien_caddr = server_socket.accept()

handle_client(client_socket)

#這裡配置伺服器

documents_root = "./html"

if __name__ == "__main__":

main()

伺服器端

客戶端

Python建立web靜態伺服器

python作為工具,提供了很多好用的命令,比如有時候突然需要建立乙個解析靜態的html頁面的伺服器,我們不需要在安裝http伺服器,python就能夠輕鬆簡單的做到。先建立乙個index.html的頁面 寫上最簡單的hello 用python開始web伺服器 python m httpserver...

python實現靜態web伺服器

http協議簡介 http請求 1 瀏覽器首先向伺服器傳送http請求,請求包括 方法 get還是post,get僅請求資源,post會附帶使用者資料 路徑 full url path 網域名稱 由host頭指定 host www.sina.com以及其他相關的header 如果是post,那麼請求...

python學習之Web靜態伺服器

通過近幾天學習,完成乙個看可以在命令視窗啟動,使用命令指定埠的多工靜態web服務區。這篇文章只附上了主要 html檔案不附 usr bin env python coding utf 8 import socket import re import sys import gevent from ge...