1、获取单台vps机器信息
API URL: https://asiyun.cn/api/adslapi.asp
请求参数:
vpsname
: 机器名(必填)action
: 固定值getinfo
userid
: 用户名(必填)userstr
: MD5 哈希值,计算方式为md5(登录密码 + "asiyun.cn")
(必填)
示例请求:
https://asiyun.cn/api/adslapi.asp?vpsname=your_machine_name&action=getinfo&userid=your_username&userstr=md5_hash_value
2. 获取所有机器信息
API URL: https://asiyun.cn/api/adslall.asp
请求方法: GET
请求参数:
userid
: 用户名(必填)userstr
: MD5 哈希值,计算方式为md5(登录密码 + "asiyun.cn")
(必填)action
: 固定值getinfoalls
示例请求:
https://asiyun.cn/api/adslall.asp?userid=your_username&userstr=md5_hash_value&action=getinfoalls
3、开机、关机、重启vps
API URL: https://asiyun.cn/api/cloud.asp
请求方法: GET
请求参数:
userid
: 用户名(必填)userstr
: MD5 哈希值,计算方式为md5(登录密码 + "asiyun.cn")
(必填)op
: 重启:reset
关机:turnoff
开机:start
(必填)vpsname
: 机器名(必填)action
: 固定值vpsop
重启示例请求:
https://asiyun.cn/api/cloud.asp?vpsname=your_machine_name&userid=your_username&userstr=md5_hash_value&action=vpsop&op=reset
4、重装
API URL: https://asiyun.cn/api/cloud.asp
请求方法: GET
请求参数:
userid
: 用户名(必填)userstr
: MD5 哈希值,计算方式为md5(登录密码 + "asiyun.cn")
(必填)osid
: 1为centos7、2为Windows7(32位)、3为Windows7(64位)、4为Windows10vpsname
: 机器名(必填)action
: 固定值installos
注意事项:有模版的,联系技术获取模版osid值。由于使用windos客户较少,部分地区可能没有windos系统,如果安装windos没成功,请联系客服下载镜像。1.centos7每个地区都有。
重装centos7系统示例请求:
https://asiyun.cn/api/cloud.asp?vpsname=your_machine_name&userid=your_username&userstr=md5_hash_value&action=installos&osid=1
生成 userstr
的步骤
- 将密码和字符串
asiyun.cn
拼接在一起。 - 计算拼接结果的 MD5 哈希值。
- 使用生成的 MD5 哈希值作为
userstr
参数的值。
Python 示例代码:
`import hashlib
def generate_userstr(password):
combined_string = password + "asiyun.cn"
return hashlib.md5(combined_string.encode()).hexdigest()
# 示例用法
password = "your_password"
userstr = generate_userstr(password)
print(userstr) # 打印生成的 MD5 哈希值`
获取单台机器和所有机器信息的完整示例
以下是一个完整的 Python 脚本示例,展示如何调用上述 API 并处理响应数据。
`import hashlib
import requests
import logging
# 配置 logger
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
handler = logging.StreamHandler() # 可以根据需要更改为 FileHandler 或其他处理器
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
# 函数:生成 userstr
def generate_userstr(password):
combined_string = password + "asiyun.cn"
return hashlib.md5(combined_string.encode()).hexdigest()
# 函数:获取单台机器信息
def get_machine_info(base_url, vpsname, userid, userstr):
url = f"{base_url}/api/adslapi.asp?vpsname={vpsname}&action=getinfo&userid={userid}&userstr={userstr}"
try:
response = requests.get(url)
response.raise_for_status()
return response.json()
except requests.RequestException as e:
logger.error(f"获取单台机器信息时出错: {e}")
return None
# 函数:获取所有机器信息
def get_all_machines_info(base_url, userid, userstr):
url = f"{base_url}/api/adslall.asp?userid={userid}&userstr={userstr}&action=getinfoalls"
try:
response = requests.get(url)
response.raise_for_status()
return response.json()
except requests.RequestException as e:
logger.error(f"获取所有机器信息时出错: {e}")
return None
def main():
base_url = "https://asiyun.cn"
userid = "your_username"
password = "your_password" # 原密码
vpsname = "your_machine_name"
userstr = generate_userstr(password)
# 获取单台机器信息
machine_info = get_machine_info(base_url, vpsname, userid, userstr)
if machine_info:
logger.info(f"单台机器信息: {machine_info}")
# 获取所有机器信息
all_machines_info = get_all_machines_info(base_url, userid, userstr)
if all_machines_info:
logger.info(f"所有机器信息: {all_machines_info}")
if __name__ == "__main__":
main()`
代码说明
生成
userstr
:generate_userstr
函数生成 MD5 哈希值,输入是原密码加上字符串asiyun.cn
,确保没有加号。
API 请求:
get_machine_info
和get_all_machines_info
函数构建相应的 URL,并发送 GET 请求以获取数据。
日志配置:
- 使用
logging
模块记录日志,方便调试和查看信息。
- 使用
主要逻辑:
- 在
main
函数中,生成userstr
后调用函数获取信息,并记录日志。
- 在
错误处理:
- 捕获请求异常并记录错误信息,以确保程序的鲁棒性。
使用说明
- 替换示例代码中的
your_username
、your_password
和your_machine_name
为实际值。 - 运行脚本,获取单台机器和所有机器的信息,并记录到日志中。
作者:admin 创建时间:2024-05-24 10:49
最后编辑:admin 更新时间:2024-07-15 12:06
最后编辑:admin 更新时间:2024-07-15 12:06