国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python3 flask 實現(xiàn)對config.yaml文件的內(nèi)容的增刪改查,并重啟服務

這篇具有很好參考價值的文章主要介紹了python3 flask 實現(xiàn)對config.yaml文件的內(nèi)容的增刪改查,并重啟服務。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

?config.yaml配置文件內(nèi)容

功能就是userpass下的用戶名和密碼做增刪改查,并重啟hy2服務

auth:
  type: userpass
  userpass:
    csdn: csdn

listen: :443
masquerade:
  proxy:
    rewriteHost: true
    url: https://www.bing.com/
  type: proxy
tls:
  cert: /root/hyst*****馬賽克******eria2/csdn.crt
  key: /root/hyst*****馬賽克******eria2/csdn.key

直接上代碼

from flask import Flask, request, jsonify
import yaml
import subprocess
import os

app = Flask(__name__)
CONFIG_FILE = '/root/hyst*******馬賽克******eria2/config.yaml'
API_KEY = '123456789'

def read_config():
    with open(CONFIG_FILE, 'r') as file:
        return yaml.safe_load(file)

def write_config(config):
    with open(CONFIG_FILE, 'w') as file:
        yaml.safe_dump(config, file)

def restart_service(service_name):
    try:
        subprocess.run(['sudo', 'systemctl', 'restart', service_name], check=True)
        return True
    except subprocess.CalledProcessError:
        return False

def check_service_status(service_name):
    try:
        result = subprocess.run(['sudo', 'systemctl', 'is-active', service_name], check=True, stdout=subprocess.PIPE)
        if result.stdout.decode('utf-8').strip() == 'active':
            return True
        else:
            return False
    except subprocess.CalledProcessError:
        return False

@app.route('/api', methods=['POST'])
def manage_user():
    # 驗證API Key
    api_key = request.headers.get('Authorization')
    if api_key != API_KEY:
        return jsonify({'error': 'Unauthorized'}), 401

    # 解析請求數(shù)據(jù)
    data = request.json
    if not data or 'username' not in data or 'action' not in data:
        return jsonify({'error': 'Bad Request'}), 400
    
    username = data['username']
    action = data['action'].lower()

    # 讀取配置文件
    config = read_config()
    userpass = config.get('auth', {}).get('userpass', {})

    service_name = 'hyst*******馬賽克******eria2' # 服務名稱
    need_restart = False

    if action == 'add':
        if 'password' not in data:
            return jsonify({'error': 'Missing password for add action'}), 400
        password = data['password']
        userpass[username] = password
        need_restart = True
    elif action == 'delete':
        if username in userpass:
            userpass.pop(username, None)
            need_restart = True
        else:
            return jsonify({'error': 'User not found'}), 404
    elif action == 'query':
        password = userpass.get(username)
        if password is not None:
            return jsonify({username: password})
        else:
            return jsonify({'error': 'User not found'}), 404
    else:
        return jsonify({'error': 'Invalid action'}), 400

    # 對于非查詢動作,更新配置文件并重啟服務
    if need_restart:
        config['auth']['userpass'] = userpass
        write_config(config)
        if restart_service(service_name):
            if check_service_status(service_name):
                return jsonify({'success': True, 'message': 'Service restarted and running'})
            else:
                return jsonify({'error': 'Service restarted but not running'}), 500
        else:
            return jsonify({'error': 'Failed to restart service'}), 500

    return jsonify({'success': True})

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)

add功能,帶驗證

python3 flask 實現(xiàn)對config.yaml文件的內(nèi)容的增刪改查,并重啟服務,flask,python,后端,api

python3 flask 實現(xiàn)對config.yaml文件的內(nèi)容的增刪改查,并重啟服務,flask,python,后端,api

del功能

?python3 flask 實現(xiàn)對config.yaml文件的內(nèi)容的增刪改查,并重啟服務,flask,python,后端,api

查詢功能?python3 flask 實現(xiàn)對config.yaml文件的內(nèi)容的增刪改查,并重啟服務,flask,python,后端,api

代碼完成:chatgpt4?文章來源地址http://www.zghlxwxcb.cn/news/detail-836743.html

到了這里,關于python3 flask 實現(xiàn)對config.yaml文件的內(nèi)容的增刪改查,并重啟服務的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • python3處理docx并flask顯示

    python3處理docx并flask顯示

    最近有需求處理docx文件,并講內(nèi)容顯示到頁面,對world進行在線的閱讀,這樣我這里就使用flask+Document對docx文件進行處理并顯示,下面直接上代碼: 首先下載Document的庫文件,先直接安裝最新版的python-docx,如果不行則換成1.1.0版本: 處理docx代碼如下: 上述代碼會對docx文件

    2024年02月03日
    瀏覽(22)
  • Python3 flask-socketio 整合vue

    Python3 flask-socketio 整合vue

    前端追加了vue-socket.io的依賴 更新package.json及package-lock.json后,需要補充庫 服務端需要安裝的python包 suse python 3.6.12 windows python 3.8.10 https://pypi.org/ 如有網(wǎng)環(huán)境,可以采用以下安裝方式: 先在有網(wǎng)環(huán)境下,PyCharm工具里面下載,如下圖: 然后在無網(wǎng)環(huán)境下直接使用現(xiàn)成的即可:

    2024年02月08日
    瀏覽(23)
  • python3 Flask jwt 簡易token認證實例

    python3 Flask jwt 簡易token認證實例

    ? ? chatgpt寫的代碼

    2024年02月22日
    瀏覽(22)
  • 微信小程序編譯每次都出現(xiàn)[ project.config.json 文件內(nèi)容錯誤] project.config.json: libVersion 字段需為 string

    微信小程序編譯每次都出現(xiàn)[ project.config.json 文件內(nèi)容錯誤] project.config.json: libVersion 字段需為 string

    在 manifest.json中加入以下代碼 具體配置可以參考小程序文檔 ?根本原因是當前用的開發(fā)工具版本 非穩(wěn)定版 。 ?????? 使用 開發(fā)工具的 穩(wěn)定版本,不會觸發(fā)此問題。 ?微信開發(fā)者工具——檢查更新。千萬不要手賤打鉤,會更新到預發(fā)布版本,因為他最新。 ? 附:開發(fā)工

    2024年02月04日
    瀏覽(19)
  • python3 簡易 http server:實現(xiàn)本地與遠程服務器傳大文件

    python3 簡易 http server:實現(xiàn)本地與遠程服務器傳大文件

    在個人目錄下創(chuàng)建新文件 httpserver.py : 文件內(nèi)容為python3代碼: 在需要暴露的目錄下啟動http服務,如 /data/codes/ 隨后在個人電腦訪問 http://ip:8888 即可瀏覽文件、上傳文件:

    2024年02月08日
    瀏覽(35)
  • python3 爬蟲相關學習8:python 的常見報錯內(nèi)容 匯總收集

    python3 爬蟲相關學習8:python 的常見報錯內(nèi)容 匯總收集

    目錄 1 低級錯誤(比如拼寫錯誤等) ?1.1 NameError:? 1.2 屬性錯誤?AttributeError:? 屬性拼寫錯誤 2? 應用錯誤(類型應用,屬性使用的錯誤) 2.1 類型錯誤 TypeError:? 如字符串連接錯誤 2.2? 屬性應用錯誤??AttributeError 3 模塊相關錯誤 3.1?找不到對應模塊?ModuleNotFoundError: 3.2 相關模

    2024年02月09日
    瀏覽(29)
  • 【Uni-App】微信小程序編譯每次都出現(xiàn)[ project.config.json 文件內(nèi)容錯誤] project.config.json: libVersion 字段需為 string

    【Uni-App】微信小程序編譯每次都出現(xiàn)[ project.config.json 文件內(nèi)容錯誤] project.config.json: libVersion 字段需為 string

    當前用的開發(fā)工具版本不是 穩(wěn)定版 根據(jù)微信小程序文檔內(nèi)容進行配置。 值 說明 latest 最新的非灰度中的基礎庫 trial 最新的基礎庫 widelyUsed 使用比例最高的基礎庫 在 manifest.json中加入 重啟項目即可 根據(jù)自己需要,關閉 微信開發(fā)者工具 的 自動更新最新版本 功能 通過點擊菜

    2024年02月21日
    瀏覽(18)
  • python flask創(chuàng)建服務器實現(xiàn)文件的上傳下載,已獲千贊

    python flask創(chuàng)建服務器實現(xiàn)文件的上傳下載,已獲千贊

    } 二、后端代碼(python) import os from string import Template from flask import Flask, send_file,request,jsonify from flask_cors import CORS import time app = Flask( name ) absolute = os.path.dirname( file ) CORS(app) app.debug = True FOLDER = os.path.join(absolute, ‘save_file’) HOST = “l(fā)ocalhost” PORT = 8080 UPLOAD = ‘upload’ app.config

    2024年04月22日
    瀏覽(103)
  • python3 爬蟲相關學習8:python 的常見報錯內(nèi)容匯總(持續(xù)收集ing)

    python3 爬蟲相關學習8:python 的常見報錯內(nèi)容匯總(持續(xù)收集ing)

    目錄 1 低級錯誤(比如拼寫錯誤等) ?1.1 NameError:? 1.2 屬性錯誤?AttributeError:? 屬性拼寫錯誤 2? 應用錯誤(類型應用,屬性使用的錯誤) 2.1 類型錯誤 TypeError:? 如字符串連接錯誤 2.2? 屬性應用錯誤??AttributeError 3 模塊相關錯誤 3.1?找不到對應模塊?ModuleNotFoundError: 3.2 相關模

    2024年02月04日
    瀏覽(26)
  • 【SA8295P 源碼分析】14 - Passthrough配置文件 /mnt/vm/images/linux-la.config 內(nèi)容分析

    【源碼分析】 因為一些原因,本文需要移除, 對于已經(jīng)購買的兄弟,不用擔心,不是跑路, 我會繼續(xù)持續(xù)提供技術支持, 有什么模塊想學習的,或者有什么問題有疑問的, 請私聊我,我們 +VX 溝通技術問題,一起學習,一起進步 接下來,我一一私聊已經(jīng)購買的兄弟添加V

    2024年02月12日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包