導航:首頁 > 編程語言 > python實現httpserver

python實現httpserver

發布時間:2022-08-06 00:43:04

python 怎麼搭建簡單的web伺服器

利用Python自帶的包可以建立簡單的web伺服器。在DOS里cd到准備做伺服器根目錄的路徑下,輸入命令
python -m Web伺服器模塊 [埠號,默認8000]
例如:
python -m SimpleHTTPServer 8080
然後就可以在瀏覽器中輸入
h ttp://loca lhost:埠號/路徑
來訪問伺服器資源。
例如:
h ttp://local host:808 0/index.h tm(當然index.htm文件得自己創建)
其他機器也可以通過伺服器的IP地址來訪問。

這里的「Web伺服器模塊」有如下三種:

BaseHTTPServer: 提供基本的Web服務和處理器類,分別是HTTPServer和BaseHTTPRequestHandler。
SimpleHTTPServer: 包含執行GET和HEAD請求的SimpleHTTPRequestHandler類。
CGIHTTPServer: 包含處理POST請求和執行CGIHTTPRequestHandler類。

② 使用python啟動了一個simplehttp server服務,跑完任務後怎麼樣關掉這個服務的

os.popen()可以實現一個「管道」,從這個命令獲取的值可以繼續被調用。而os.system不同,它只是調用,調用完後自身退出,可能返回個0吧

懂了吧,所以如果你不需要 os.popen('start "" python -m SimpleHTTPServer 80')這個命令的返回值,那就直接用os.system好了。

③ 如何用PYTHON的CGIHTTPSERVER模塊模擬POST請求

簡單來說它是一個應用層的協議,它允許將超文本標記語言(HTML)文檔從Web伺服器傳送到客戶端的瀏覽器。HTTP是一個無狀態的協議
即同一個客戶端的這次請求和上次請求是沒有對應關系,對http伺服器來說,它並不知道這兩個請求來自同一個客戶端,為了解決這個問題,Web程序引入了Cookie機制來維護狀態。

④ python 實現一個httpserver重寫get方法的問題

前面兩個操作是同時對一個文件進行讀和寫吧,最好換一個文件名來寫

⑤ python的simplehttpserver模塊怎麼指定網頁目錄

SimpleHTTPServer:包含執行GET和HEAD請求的SimpleHTTPRequestHandler類。
通過下面命令我們創建了HTTP服務,默認使用8000埠號監聽。如果文件夾下有index.html,那麼這個文件就會成為一個默認頁,如果沒有這個文件,那麼,目錄列表就會顯示出來。

⑥ 如何實現Python多進程http伺服器

埠只能綁定一個進程。
1 換成線程實現 SocketServer.ThreadingTCPServer
2 主進程調度分發。主進程收到埠請求後通過進程間通信讓其他進程工作。
我想要用 python 的 multiprocessing 模塊實現一個多進程多線程的 http 伺服器,伺服器會使用進程池 Pool 創建多個子進程,然後每個子進程再用 socketserver 創建多線程的 http 伺服器,但是現在我遇到一個問題,就是伺服器運行以後,只有第一個子進程可以處理 http 連接,如何做到讓每一個子進程都可以處理連接?
備註:通過 getpid 可以看到每次接受請求的都是同一個子進程
# Python 3import os, socketserver, signal, sysfrom multiprocessing import Poolclass MyTCPHandler(socketserver.BaseRequestHandler):

def handle(self):
self.data = self.request.recv(1024)
respone = b'HTTP/1.1 200 OK\r\n\r\nOK%d' % os.getpid()
self.request.sendall(respone)def httpd_task():
socketserver.ThreadingTCPServer.allow_reuse_address = True
server = socketserver.ThreadingTCPServer(('0.0.0.0', 80), MyTCPHandler) try:
server.serve_forever() except: pass
server.server_close()if __name__=='__main__':

p = Pool(4) for i in range(4):
p.apply_async(httpd_task)
p.close()
p.join()

⑦ 如何用python搭建一個最簡單的Web伺服器

用Python建立最簡單的web伺服器

利用Python自帶的包可以建立簡單的web伺服器。在DOS里cd到准備做伺服器根目錄的路徑下,輸入命令:

⑧ 請問python建立simplehttpserver伺服器的時候為什麼會卡住

正常,這才是伺服器
首先確保裝了Python,我裝的是2.x版本,對了,我的操作系統是WIN7,其實對於Python來說,什麼操作系統並不重要。Python內置了一個簡單的HTTP伺服器,只需要在命令行下面敲一行命令,一個HTTP伺服器就起來了:
python -m SimpleHTTPServer 80

後面的80埠是可選的,不填會採用預設埠8000。注意,這會將當前所在的文件夾設置為默認的Web目錄,試著在瀏覽器敲入本機地址:

如果當前文件夾有index.html文件,會默認顯示該文件,否則,會以文件列表的形式顯示目錄下所有文件。這樣已經實現了最基本的文件分享的目的,你可以做成一個腳本,再建立一個快捷方式,就可以很方便的啟動文件分享了。如果有更多需求,完全可以根據自己需要定製,具體的請參見官方文檔SimpleHTTPServer,或者直接看源碼。我拷貝一段,方便參考:
import SimpleHTTPServer
import SocketServer

PORT = 8000

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler

httpd = SocketServer.TCPServer(("", PORT), Handler)

print "serving at port", PORT
httpd.serve_forever()

如果你想改變埠號,你可以使用如下的命令:

python -m SimpleHTTPServer 8080

如果你只想讓這個HTTP伺服器服務於本地環境,那麼,你需要定製一下你的Python的程序,下面是一個示例:

import sys
import BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
HandlerClass = SimpleHTTPRequestHandler
ServerClass = BaseHTTPServer.HTTPServer
Protocol = "HTTP/1.0"

if sys.argv[1:]:
port = int(sys.argv[1])
else:
port = 8000
server_address = ('127.0.0.1', port)

HandlerClass.protocol_version = Protocol
httpd = ServerClass(server_address, HandlerClass)

sa = httpd.socket.getsockname()
print "Serving HTTP on", sa[0], "port", sa[1], "..."
httpd.serve_forever()

注意:所有的這些東西都可以在 Windows 或 Cygwin 下工作。
您可能感興趣的文章:

⑨ python httpserver怎麼處理跨域

os.popen()可以實現一個「管道」,從這個命令獲取的值可以繼續被調用。而os.system不同,它只是調用,調用完後自身退出,可能返回個0吧 懂了吧,所以如果你不需要 os.popen('start "" python -m SimpleHTTPServer 80')這個命令的返回值

閱讀全文

與python實現httpserver相關的資料

熱點內容
自己建了伺服器地址 瀏覽:696
命令按鈕的屬性設置 瀏覽:961
證券技術分析pdf 瀏覽:777
linux命令連接oracle 瀏覽:200
墊江停車收費樁怎麼上App 瀏覽:133
好興動app還款怎麼登錄不上去了 瀏覽:665
鄭州雲伺服器託管 瀏覽:722
伺服器地址跟蹤 瀏覽:980
免費google雲伺服器 瀏覽:516
摘譯和編譯的英文 瀏覽:359
熱泵壓縮機選型 瀏覽:121
op手機微信加密如何解除 瀏覽:386
如何在王牌戰爭找到高爆率伺服器 瀏覽:13
江浙小學語文輔導課用什麼APP 瀏覽:99
新夢幻大陸伺服器地址 瀏覽:241
網吧伺服器怎麼更換壁紙 瀏覽:530
linux命令方法 瀏覽:332
linux下載freetype 瀏覽:123
程序員入駐平台 瀏覽:327
程序員大戰外掛 瀏覽:745