導航:首頁 > 編程語言 > pythonhttpserver模塊

pythonhttpserver模塊

發布時間:2022-03-05 13:18:48

『壹』 python的simplehttpserver模塊怎麼指定網頁目錄

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

『貳』 請問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的BaseHTTPServer模塊怎樣接收post請求能給出,把接收到的POST數據輸...

#!/usr/bin/python
#encoding=utf-8
'''
基於BaseHTTPServer的http server實現,包括get,post方法,get參數接收,post參數接收。
'''
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
import io,shutil
import urllib
import os, sys

class MyRequestHandler(BaseHTTPRequestHandler):
def do_GET(self):
mpath,margs=urllib.splitquery(self.path) # ?分割
self.do_action(mpath, margs)

def do_POST(self):
mpath,margs=urllib.splitquery(self.path)
datas = self.rfile.read(int(self.headers['content-length']))
self.do_action(mpath, datas)

def do_action(self, path, args):
self.outputtxt(path + args )

def outputtxt(self, content):
#指定返回編碼
enc = "UTF-8"
content = content.encode(enc)
f = io.BytesIO()
f.write(content)
f.seek(0)
self.send_response(200)
self.send_header("Content-type", "text/html; charset=%s" % enc)
self.send_header("Content-Length", str(len(content)))
self.end_headers()
shutil.fileobj(f,self.wfile)

『肆』 python httpserver怎麼處理跨域

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

『伍』 使用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找不到BaseHTTPServer

首先表示本人不知道這個模塊功能,但是針對你這情況,以下建

議可能能幫助你:

BaseHTTPServer是一個模塊,anaconda可能不包含這個模塊,所以你要自己安裝以下,但是我這邊pip安裝失敗,pipy可能沒有收錄。

然後我查看了官方文檔,文檔上說:

Note:.serverinPython3.

Python3.

翻譯:注意BaseHTTPServer模塊已經合並到http.server在Python 3中。版本2工具會自動適應進口時將消息轉換為Python 3。

所以說你這需要pip install 安裝一下包,但是具體哪個包,我也搞不清額

『捌』 linux下終端python -m SimpleHTTPServer 80沒用

請使用python3
python3 -m http.server
代替
python3 內置

『玖』 python的BaseHTTPServer模塊,WEB服務啟動後,怎樣讓GET請求中,有指定值就停...

有一個force_stop()的方法啊,判斷get的參數,如果是指定值得話就調用force_stop就可以了。

閱讀全文

與pythonhttpserver模塊相關的資料

熱點內容
手游eve為什麼連接不到伺服器 瀏覽:370
redis命令執行不了 瀏覽:479
移動程序員p7薪資 瀏覽:91
土壤溫濕演算法 瀏覽:586
現在的編譯器都支持c11 瀏覽:938
安卓手機提醒系統更新怎麼辦 瀏覽:791
mastercamkuka機器人離線編程 瀏覽:836
程序員日常生活技巧 瀏覽:741
python如何提取尺寸 瀏覽:754
盧溝橋命令 瀏覽:58
linux將文件移出文件夾命令 瀏覽:138
朗行中控安卓系統怎麼刪除歌曲 瀏覽:714
福昕pdf去除水印 瀏覽:526
為什麼app搜索不到口袋覺醒 瀏覽:916
php光速入門 瀏覽:486
linuxapache不解析php 瀏覽:201
什麼app可以視頻唱歌 瀏覽:407
電子投標加密狗 瀏覽:504
A8平衡車連接什麼APP 瀏覽:574
vc6文件夾怎麼找文件 瀏覽:797