Proxmox VE API: 获取虚拟机VNC代理地址 (POST /api2/json/nodes/{node}/qemu/{vmid}/vncproxy)
本文档展示如何使用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_url、proxmox_username和proxmox_password,并根据您的需求进行其他适当的修改和扩展。同时,确保在生产环境中采取适当的安全措施来保护API访问和用户数据的安全性。
原文地址: https://www.cveoy.top/t/topic/pI5 著作权归作者所有。请勿转载和采集!