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为Windows10

  • vpsname: 机器名(必填)

  • 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 的步骤

  1. 将密码和字符串 asiyun.cn 拼接在一起。
  2. 计算拼接结果的 MD5 哈希值。
  3. 使用生成的 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()` 

代码说明

  1. 生成 userstr:

    • generate_userstr 函数生成 MD5 哈希值,输入是原密码加上字符串 asiyun.cn,确保没有加号。
  2. API 请求:

    • get_machine_infoget_all_machines_info 函数构建相应的 URL,并发送 GET 请求以获取数据。
  3. 日志配置:

    • 使用 logging 模块记录日志,方便调试和查看信息。
  4. 主要逻辑:

    • main 函数中,生成 userstr 后调用函数获取信息,并记录日志。
  5. 错误处理:

    • 捕获请求异常并记录错误信息,以确保程序的鲁棒性。

使用说明

  1. 替换示例代码中的 your_usernameyour_passwordyour_machine_name 为实际值。
  2. 运行脚本,获取单台机器和所有机器的信息,并记录到日志中。
作者:admin  创建时间:2024-05-24 10:49
最后编辑:admin  更新时间:2024-07-15 12:06