本文档展示如何使用POST请求方法获取Proxmox VE虚拟机的VNC代理地址,并提供Python代码示例。

之前提供的示例代码使用GET方法,但根据您提供的信息,正确的请求方法应该是POST。以下代码使用POST方法来获取虚拟机的VNC代理地址:

from flask import Flask, jsonify, render_template
import requests

app = Flask(__name__)

# Proxmox VE API配置
proxmox_api_url = 'https://your-proxmox-api-url'
proxmox_username = 'your-username'
proxmox_password = 'your-password'

# 获取虚拟机VNC代理地址
def get_vnc_proxy(node, vmid):
    url = f"{proxmox_api_url}/nodes/{node}/qemu/{vmid}/vncproxy"
    response = requests.post(url, auth=(proxmox_username, proxmox_password))
    if response.status_code == 200:
        return response.json()['data']['proxy']
    else:
        return None

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/get_vnc_proxy/<node>/<vmid>')
def get_vnc_proxy_route(node, vmid):
    vnc_proxy = get_vnc_proxy(node, vmid)
    if vnc_proxy:
        return jsonify({'vnc_proxy': vnc_proxy})
    else:
        return jsonify({'error': 'Failed to get VNC proxy address'})

if __name__ == '__main__':
    app.run()

请确保根据您的实际情况修改proxmox_api_urlproxmox_usernameproxmox_password,并根据您的需求进行其他适当的修改和扩展。同时,确保在生产环境中采取适当的安全措施来保护API访问和用户数据的安全性。

Proxmox VE API: 获取虚拟机VNC代理地址 (POST /api2/json/nodes/{node}/qemu/{vmid}/vncproxy)

原文地址: https://www.cveoy.top/t/topic/pI5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录