亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

用Python簡單實現(xiàn)Http服務端

 更新時間:2023年07月21日 11:35:13   作者:BEARZPY  
這篇文章主要為大家介紹了使用Python簡單實現(xiàn)Http服務端示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

Python 實現(xiàn) Http 服務端

Android 開發(fā)中常常有很多使用 Http 進行交互的時候,有時候想測試一些 API 功能可能需要后臺的配合,但是往往需要雙方都有空的時候才行,效率不高。測試 API 的時候,有些簡單功能不妨用 Python 自己寫一個 Http Service 來實現(xiàn)。

實現(xiàn)一個簡單的服務器

Python 內置了一個簡單的服務器,使用命令行命令就可以啟動一個 Http Service,默認可以作為文件服務器,以當前操作的文件夾為目錄,顯示該文件夾下的內容,如果當前文件夾有 index.html 文件,則會默認顯示該文件。端口是可選的,不填會采用缺省端口 8000,在瀏覽器中訪問地址 http://localhost:8000,就能看到文件服務器。

Python2 命令

python -m SimpleHTTPServer 8080

Python3 命令

python -m http.server 8080

自定義 API 服務器

簡單的文件服務器有時候不能滿足我們的需求,我們需要測試一些 API 接口,這個時候我們可以使用 Python 編寫一個處理 API 的服務器。

  • HTTPServer 可以讓我們?yōu)榉掌髦付ㄒ粋€本機地址和端口,同時配置使用我們的自定義 http 處理類
  • BaseHTTPRequestHandler 繼承此類后,我們可以自定義 do_GET(),do_POST() 等方法處理客戶端 url 請求
  • 對 url 的路徑和參數進行分離,進行對應的業(yè)務邏輯處理
  • send_response() 設置 Http 返回碼,會自動設置 Message
  • send_header() 設置 Http 頭信息,以 end_headers() 確認頭信息完成
  • wfile.write() 寫入 Http body 數據,文件使用 ‘rb’ 讀取后寫入,String 正常寫入

注: 調用 end_headers() 之后,再調用 send_header() 等操作會把數據寫入 body 中。

以下為示例程序,python3 版本:

import time
import getHandler
from http.server import BaseHTTPRequestHandler, HTTPServer
HOST = '192.168.137.1'
PORT_NUMBER = 8080
class TestHttpHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        // 業(yè)務邏輯處理
        ret_code, ret_byte = getHandler.handler(self.path)
        // 設置相應碼
        self.send_response(ret_code)
        if ret_byte is None:
            // 無 body
            // 確認頭信息
            self.end_headers()
            return
        // 設置返回長度
        self.send_header('Content-Length', len(ret_byte))
        // 確認頭信息
        self.end_headers()
        // 寫入 body 數據
        self.wfile.write(ret_byte)
    def do_POST(self):
        self.send_response(400)
        self.end_headers()
    def do_PUT(self):
        self.send_response(400)
        self.end_headers()
    def do_DELETE(self):
        self.send_response(400)
        self.end_headers()
def start_server():
    http_server = HTTPServer((HOST, PORT_NUMBER), TestHttpHandler)
    print(time.asctime(), "Server Starts - %s:%s" % (HOST, PORT_NUMBER))
    try:
        http_server.serve_forever()
    except KeyboardInterrupt:
        pass
    http_server.server_close()
    print(time.asctime(), "Server Stops - %s:%s" % (HOST, PORT_NUMBER))
if __name__ == "__main__":
    start_server()

以上就是用Python簡單實現(xiàn)Http服務端的詳細內容,更多關于Python Http服務端的資料請關注腳本之家其它相關文章!

相關文章

  • 手把手教你用Matplotlib實現(xiàn)數據可視化

    手把手教你用Matplotlib實現(xiàn)數據可視化

    Matplotlib是支持?Python語言的開源繪圖庫,因為其支持豐富的繪圖類型、簡單的繪圖方式以及完善的接口文檔,深受?Python?工程師、科研學者、數據工程師等各類人士的喜歡。本文將詳細為大家介紹如何用Matplotlib實現(xiàn)數據可視化,需要的可以參考一下
    2022-02-02
  • Python3基礎之list列表實例解析

    Python3基礎之list列表實例解析

    這篇文章主要介紹了Python3的list列表用法,這是Python3數據類型中非常常見的應用,需要的朋友可以參考下
    2014-08-08
  • 使用Python的Treq on Twisted來進行HTTP壓力測試

    使用Python的Treq on Twisted來進行HTTP壓力測試

    這篇文章主要介紹了使用Python的Treq on Twisted來進行HTTP壓力測試,基于Python中的Twisted框架,需要的朋友可以參考下
    2015-04-04
  • pytorch如何實現(xiàn)多個矩陣拼接

    pytorch如何實現(xiàn)多個矩陣拼接

    這篇文章主要介紹了pytorch如何實現(xiàn)多個矩陣拼接問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python基礎語言學習筆記總結(精華)

    Python基礎語言學習筆記總結(精華)

    給大家分享一篇關于Python基礎學習內容的學習筆記整理總結篇,里面匯集了學習Python基礎語言的難點和技巧,分享給大家。
    2017-11-11
  • Python 解析xml文件的示例

    Python 解析xml文件的示例

    這篇文章主要介紹了Python 解析xml文件的示例,幫助大家更好的利用python處理文件,感興趣的朋友可以了解下
    2020-09-09
  • Python大數據之網絡爬蟲的post請求、get請求區(qū)別實例分析

    Python大數據之網絡爬蟲的post請求、get請求區(qū)別實例分析

    這篇文章主要介紹了Python大數據之網絡爬蟲的post請求、get請求區(qū)別,結合具體實例形式分析了Python網頁爬蟲post請求與get請求相關使用技巧,需要的朋友可以參考下
    2019-11-11
  • Python數據提取-lxml模塊

    Python數據提取-lxml模塊

    這篇文章主要介紹了Python數據提取-lxml模塊,lxml模塊和xpath語法的關系,lxml模塊的使用場景、lxml模塊的安裝、谷歌瀏覽器xpath?helper插件的安裝和使用等相關內容介紹,需要的朋友可以參考一下
    2022-01-01
  • Python實現(xiàn)Linux的find命令實例分享

    Python實現(xiàn)Linux的find命令實例分享

    本文給大家分享的是使用python簡單實現(xiàn)模擬linux的find命令的實例代碼,推薦給大家,希望大家能夠喜歡
    2017-06-06
  • python學習實操案例(三)

    python學習實操案例(三)

    這篇文章主要介紹了python學習實操案例,循環(huán)輸出26個字母對應的ASCII碼值、模擬用戶登錄、猜數游戲練習等案例,需要的小伙伴可以參考一下,希望對你有一定的幫助
    2022-02-02

最新評論