日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python实现HTTP服务器(二)返回指定的html页面

發(fā)布時(shí)間:2025/3/15 python 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python实现HTTP服务器(二)返回指定的html页面 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

通過前一篇博客我們可以了解,當(dāng)在瀏覽器端輸入127.0.0.1:7890時(shí)會發(fā)送request請求,格式為GET / HTTP/1.1,如果指定訪問頁面輸入127.0.0.1:7890/index.html時(shí)request請求,格式為GET /index.html HTTP/1.1。
因此我們可以通過正則表達(dá)式提取出index.html,然后將本地的index.html讀取發(fā)送給瀏器,得到相應(yīng)的頁面。

import re import socketdef service_client(new_socket):"""為這個客戶端返回?cái)?shù)據(jù)"""# 1.接收瀏覽器發(fā)送過來的請求,即HTTP請求request=new_socket.recv(1024)request=request.decode("utf-8") # 解碼request_lines=request.splitlines() # 按照行('\r', '\r\n', \n')分隔,返回一個包含各行作為元素的列表print(request_lines)# GET /index.html HTTP/1.1# [^/]表示除了/都可以file_name=""ret=re.match(r"[^/]+(/[^ ]*)",request_lines[0])if ret:file_name=ret.group(1)if file_name=="/":file_name="/index.html"# 2.返回HTTP格式的數(shù)據(jù),給瀏覽器try:# 準(zhǔn)備發(fā)送的body,打開HTML文件f=open("html"+file_name,'rb')except:response="HTTP/1.1 404 NOT FOUND\r\n"response+='\r\n'response+="----file not found----"new_socket.send(response.encode("utf-8"))else:html_content=f.read()f.close()# 準(zhǔn)備發(fā)送的headerresponse="HTTP/1.1 200 OK\r\n"response+="\r\n" # header與body之間必須隔一行# 發(fā)送headernew_socket.send(response.encode("utf-8"))# 發(fā)送HTMLnew_socket.send(html_content)new_socket.close()def main():tcp_sever_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)# 服務(wù)器先關(guān)閉,保證重新開啟不占用端口tcp_sever_socket.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)tcp_sever_socket.bind(("",7890))tcp_sever_socket.listen(128)while True:# 等待新客戶端的鏈接new_socket,client_addr=tcp_sever_socket.accept()service_client(new_socket)# 關(guān)閉監(jiān)聽套接字tcp_sever_socket.close() if __name__ == '__main__':main()

總結(jié)

以上是生活随笔為你收集整理的Python实现HTTP服务器(二)返回指定的html页面的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。