最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用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 內(nèi)置了一個簡單的服務器,使用命令行命令就可以啟動一個 Http Service,默認可以作為文件服務器,以當前操作的文件夾為目錄,顯示該文件夾下的內(nèi)容,如果當前文件夾有 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 的路徑和參數(shù)進行分離,進行對應的業(yè)務邏輯處理
  • send_response() 設置 Http 返回碼,會自動設置 Message
  • send_header() 設置 Http 頭信息,以 end_headers() 確認頭信息完成
  • wfile.write() 寫入 Http body 數(shù)據(jù),文件使用 ‘rb’ 讀取后寫入,String 正常寫入

注: 調(diào)用 end_headers() 之后,再調(diào)用 send_header() 等操作會把數(shù)據(jù)寫入 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 數(shù)據(jù)
        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服務端的詳細內(nèi)容,更多關于Python Http服務端的資料請關注腳本之家其它相關文章!

相關文章

  • python基礎之字典

    python基礎之字典

    這篇文章主要介紹了python的字典,實例分析了Python中返回一個返回值與多個返回值的方法,需要的朋友可以參考下
    2021-10-10
  • Django 實現(xiàn)Admin自動填充當前用戶的示例代碼

    Django 實現(xiàn)Admin自動填充當前用戶的示例代碼

    今天小編就為大家分享一篇Django 實現(xiàn)Admin自動填充當前用戶的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python處理數(shù)據(jù)之匹配兩個Excel文件數(shù)據(jù)的實現(xiàn)方法

    Python處理數(shù)據(jù)之匹配兩個Excel文件數(shù)據(jù)的實現(xiàn)方法

    這篇文章主要給大家介紹了關于Python處理數(shù)據(jù)之匹配兩個Excel文件數(shù)據(jù)的實現(xiàn)方法,可以使用Python的Pandas庫來實現(xiàn)兩層循環(huán)匹配兩個Excel文件,需要的朋友可以參考下
    2023-09-09
  • 如何基于python實現(xiàn)年會抽獎工具

    如何基于python實現(xiàn)年會抽獎工具

    這篇文章主要介紹了如何基于python實現(xiàn)年會抽獎工具,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • 基于Python開發(fā)的高質(zhì)量PDF轉Word批量處理系統(tǒng)

    基于Python開發(fā)的高質(zhì)量PDF轉Word批量處理系統(tǒng)

    在日常的學習和開發(fā)中,我們經(jīng)常遇到需要將大量 PDF 轉換為 Word 文檔的場景,因此,我抽時間將這個高頻需求重構為一個基于 Python 開發(fā)的高質(zhì)量 PDF 轉 Word 批量處理系統(tǒng),這不僅僅是一個自動化腳本,更是一個踐行 SOLID 原則和設計模式,需要的朋友可以參考下
    2026-05-05
  • Pycharm如何運行.py文件的方法步驟

    Pycharm如何運行.py文件的方法步驟

    這篇文章主要介紹了Pycharm如何運行.py文件的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • Python內(nèi)置函數(shù)input()示例詳解

    Python內(nèi)置函數(shù)input()示例詳解

    input()函數(shù)是Python中用于獲取用戶輸入的一個簡單而強大的工具,它在創(chuàng)建需要用戶交互的程序時非常有用,這篇文章主要介紹了Python內(nèi)置函數(shù)input()詳解,需要的朋友可以參考下
    2024-04-04
  • 解決keras+flask模型的重復調(diào)用出錯ValueError: Tensor is not an element of this graph

    解決keras+flask模型的重復調(diào)用出錯ValueError: Tensor is n

    這篇文章主要介紹了解決keras+flask模型的重復調(diào)用出錯ValueError: Tensor is not an element of this graph問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Python實現(xiàn)求一個集合所有子集的示例

    Python實現(xiàn)求一個集合所有子集的示例

    今天小編就為大家分享一篇Python 實現(xiàn)求一個集合所有子集的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python+turtle繪制七夕表白玫瑰花

    Python+turtle繪制七夕表白玫瑰花

    七夕節(jié),又稱“七巧節(jié)”“女兒節(jié)”“乞巧節(jié)”等,是中國民間的傳統(tǒng)節(jié)日。一年一度的七夕又快到了,用Python畫一朵玫瑰花送給你的那個TA吧
    2022-08-08

最新評論

峨眉山市| 大厂| 麻栗坡县| 会泽县| 东海县| 伽师县| 宁国市| 扎囊县| 鲁山县| 轮台县| 盈江县| 武隆县| 肃南| 宜兴市| 东方市| 石渠县| 安化县| 福泉市| 万山特区| 高州市| 丹凤县| 灵川县| 天峻县| 察雅县| 广元市| 清水河县| 交口县| 常德市| 乐业县| 东明县| 新巴尔虎左旗| 江川县| 永宁县| 蒲江县| 石河子市| 南部县| 商洛市| 蓝山县| 靖边县| 定襄县| 信宜市|