当前位置:首页 » 今日头条 » 正文

可以直接运行的 CloudCone VPS 自动抢购脚本

215 人参与  2024年12月01日 17:01  分类 : 今日头条  评论

以下是一个完整的、可以直接运行的 CloudCone VPS 自动抢购脚本。请确保将必要的账户信息和 API 配置替换为您自己的内容。

完整代码

import time
import random
import requests
from concurrent.futures import ThreadPoolExecutor

# CloudCone API 基础配置
API_URL = "https://api.cloudcone.com/v1"
EMAIL = "your_email@example.com"          # 替换为您的 CloudCone 登录邮箱
PASSWORD = "your_password"                # 替换为您的 CloudCone 登录密码
INITIAL_REFRESH_INTERVAL = 5              # 初始刷新间隔(秒)
MAX_REFRESH_INTERVAL = 60                 # 最大刷新间隔(秒)
MAX_ATTEMPTS = 20                         # 最大尝试次数
THREAD_COUNT = 3                          # 并发线程数

# 动态配置范围
CONFIG_RANGE = {
    "cpu": (1, 4),        # CPU 核心范围
    "memory": (1024, 8192),  # 内存范围 (MB)
    "storage": (20, 100),    # 存储范围 (GB)
    "bandwidth": (1, 5),     # 带宽范围 (TB)
    "regions": ["US West", "US East", "Europe"]  # 可选区域
}

# 登录函数:获取 API Token
def login_via_api():
    try:
        response = requests.post(
            f"{API_URL}/login",
            data={"email": EMAIL, "password": PASSWORD}
        )
        if response.status_code == 200:
            token = response.json().get("access_token")
            if not token:
                raise Exception("未能获取 Token,请检查登录返回数据。")
            print("[INFO] 登录成功,Token 已获取!")
            return token
        else:
            raise Exception(f"登录失败:{response.text}")
    except Exception as e:
        print(f"[ERROR] 登录错误:{e}")
        return None

# 随机生成 VPS 配置
def generate_random_config():
    config = {
        "cpu": random.randint(*CONFIG_RANGE["cpu"]),
        "memory": random.randint(*CONFIG_RANGE["memory"]),
        "storage": random.randint(*CONFIG_RANGE["storage"]),
        "bandwidth": random.randint(*CONFIG_RANGE["bandwidth"]),
        "region": random.choice(CONFIG_RANGE["regions"]),
    }
    print(f"[INFO] 生成的随机配置:{config}")
    return config

# 抢购函数:提交 VPS 配置
def purchase_via_api(token):
    headers = {"Authorization": f"Bearer {token}"}
    payload = generate_random_config()
    try:
        response = requests.post(f"{API_URL}/deploy", headers=headers, json=payload)
        if response.status_code == 200:
            print("[SUCCESS] 抢购成功!返回数据:", response.json())
            return True  # 抢购成功
        else:
            print(f"[INFO] 抢购失败,错误信息:{response.text}")
            return False
    except Exception as e:
        print(f"[ERROR] 抢购过程中发生错误:{e}")
        return False

# 并发抢购尝试函数
def attempt_purchase():
    token = login_via_api()
    if token:
        return purchase_via_api(token)
    return False

# 主函数入口
if __name__ == "__main__":
    refresh_interval = INITIAL_REFRESH_INTERVAL
    attempts = 0

    while attempts < MAX_ATTEMPTS:
        attempts += 1
        print(f"\n[INFO] 第 {attempts} 次尝试抢购...")

        with ThreadPoolExecutor(max_workers=THREAD_COUNT) as executor:
            futures = [executor.submit(attempt_purchase) for _ in range(THREAD_COUNT)]
            results = [future.result() for future in futures]
        
        # 如果任意一个线程成功抢购,则结束脚本
        if any(results):
            print("[INFO] 抢购成功,脚本结束!")
            break

        # 抢购失败,调整刷新间隔并重试
        print(f"[INFO] 第 {attempts} 次抢购失败,等待 {refresh_interval} 秒后重试...")
        time.sleep(refresh_interval)
        refresh_interval = min(refresh_interval + 5, MAX_REFRESH_INTERVAL)  # 动态增加间隔

    if attempts >= MAX_ATTEMPTS:
        print("[INFO] 达到最大尝试次数,脚本结束。")

使用说明

替换登录信息

将代码中的 EMAIL 和 PASSWORD 替换为您在 CloudCone 的登录邮箱和密码。

调整 VPS 配置

根据需求修改 payload 中的 VPS 参数,例如 cpu、memory、storage、bandwidth 和 region。

运行脚本

python cloudcone_vps_auto.py

重要注意事项

1.CloudCone API 文档

确保 API URL 和端点 (/login 和 /deploy) 是正确的。如果 URL 有更新,请根据官方文档调整。

2.Token 安全性

请勿将脚本中包含敏感信息的部分公开(如 EMAIL、PASSWORD 和 token)。

推荐使用环境变量来存储敏感信息,替代硬编码的方式。

3.错误排查

如果脚本报错,请检查 CloudCone 是否提供了 API 服务支持,或者尝试手动调用 API 验证其可用性。

4.频率限制

避免频繁调用 API,可能会触发 CloudCone 的反滥用机制。

如遇到任何问题,可以随时提供具体的错误信息,我会帮助您进一步优化代码!

什么是 API Token?

API Token 是用于验证您的身份并允许您通过编程方式访问 CloudCone 的 API 服务的密钥。它就像一把钥匙,用于保护您的账户免受未经授权的访问。

如何获取 API Token

按照以下步骤获取 API Token:

1.登录 CloudCone 打开 CloudCone 网站并使用您的账号密码登录。 CloudCone 登录页面

2.进入 API 配置 登录后,访问用户仪表板中的 API Settings 页面:

在主菜单中,找到 API 或 Account Settings(可能根据平台更新略有不同)。

如果找不到,可以直接咨询 CloudCone 文档或支持团队。

3.生成 API Token

在 API 配置页面,点击 Generate New API Token。

系统会为您生成一个密钥,通常是随机字符串。

将这个 Token 复制并保存,某些平台生成后不会再次显示。

4.设置 API 权限

确保您的 API Token 有足够的权限,比如部署 VPS 或查看资源的权限。

如何在脚本中设置 Token

将生成的 Token 替换到脚本中 TOKEN 的位置。例如:

TOKEN = "abcd1234efgh5678ijkl9012mnop3456"  # 替换为实际的 API Token

安全注意事项

不要将 Token 公开:不要将 Token 提交到公开代码仓库或分享给他人。

定期更换 Token:为确保安全,定期在 CloudCone 平台上重新生成 Token。

环境变量存储(推荐):为避免直接将 Token 写入代码,可以将它存储为环境变量。

运行这套脚本的步骤如下:

示例:在环境变量中存储 Token,然后脚本读取:

# 设置环境变量(Linux/MacOS)

# 设置环境变量(Linux/MacOS)
export CLOUDCONE_API_TOKEN="abcd1234efgh5678ijkl9012mnop3456"

# 或在 Windows 中设置
set CLOUDCONE_API_TOKEN=abcd1234efgh5678ijkl9012mnop3456

Python 脚本读取环境变量:

import os

TOKEN = os.getenv("CLOUDCONE_API_TOKEN")
if not TOKEN:
    raise Exception("请设置环境变量 CLOUDCONE_API_TOKEN")

运行这套脚本的步骤如下:

1. 环境准备

安装 Python

确保已安装 Python 3.7 以上版本。

在终端(或命令行)中运行以下命令检查版本:

python --version

如果未安装 Python,请从 Python 官网 下载并安装。

安装依赖库

这套脚本依赖 requests 库。安装方法:

pip install requests

设置脚本文件

保存脚本

打开任意文本编辑器(如 Notepad、VS Code 或 PyCharm)。

将完整的脚本代码复制粘贴到文件中。

保存文件,命名为 cloudcone_vps_auto.py。

编辑脚本

打开脚本文件,找到以下内容并替换为您自己的信息:

EMAIL = "your_email@example.com"  # 替换为您的 CloudCone 登录邮箱
PASSWORD = "your_password"        # 替换为您的 CloudCone 登录密码

根据需求,修改抢购的 VPS 配置:

payload = {
    "cpu": 2,           # 替换为目标 CPU 核心数
    "memory": 4096,     # 替换为目标内存大小 (MB)
    "storage": 50,      # 替换为目标存储大小 (GB)
    "bandwidth": 2,     # 替换为目标带宽 (TB)
    "region": "US West" # 替换为目标数据中心位置
}

3. 运行脚本

在终端中执行

打开命令行工具(Windows 的 CMD、Mac 的终端或 Linux Shell)。

导航到保存脚本的文件夹:

cd /path/to/your/script

替换 /path/to/your/script 为保存脚本的实际路径。

执行脚本:

python cloudcone_vps_auto.py

查看输出

脚本执行后,您将在终端中看到以下类似输出:

登录成功:

登录成功,Token 已获取!

抢购成功:

抢购成功!返回数据:{'vps_id': '12345', 'status': 'success'}

如果失败,将打印错误信息,帮助您排查问题。

常见问题与解决

1. 报错 ModuleNotFoundError: No module named 'requests'

您需要安装 requests 库,运行以下命令:

pip install requests

2. 报错 SyntaxError: invalid syntax

可能是 Python 版本过低,请升级到 Python 3.7 或以上。

3. 抢购失败:401 Unauthorized

检查登录邮箱和密码是否正确。

确认 CloudCone 的 API URL 是否变动,可能需要查看官方文档。

4. 报错 Timeout 或 ConnectionError

网络连接不稳定,请尝试更换网络环境。

确保 CloudCone 的 API 服务可用。

改进运行体验(可选)

1. 添加定时抢购

使用 Python 内置的 time.sleep() 定时轮询抢购:

import time

while True:

   try:

       token = login_via_api()

       purchase_via_api(token)

       break

   except Exception as e:

       print(f"抢购失败,重试中:{e}")

       time.sleep(5)  # 每隔 5 秒重试

2. 使用环境变量存储敏感信息

设置环境变量(安全性更高):

export CLOUDCONE_EMAIL="your_email@example.com"

export CLOUDCONE_PASSWORD="your_password"

修改脚本读取环境变量:

import os

EMAIL = os.getenv("CLOUDCONE_EMAIL")

PASSWORD = os.getenv("CLOUDCONE_PASSWORD")

if not EMAIL or not PASSWORD:

   raise Exception("请设置环境变量 CLOUDCONE_EMAIL 和 CLOUDCONE_PASSWORD")

运行过程中如有任何问题,可以提供具体错误信息,我会帮您解决!

版权声明 1. 文章编辑:神目网
2. 本站网址:https://www.sxlog.com
3. 注意:本站所有内容未经允许禁止转载!
4. 所有权:神目网保留对本站的所有权,包括但不限于修改、删除、更新网站内容等。

本文链接:https://www.sxlog.com/post/1872.html

软件技术教程  

商务合作 - Email:admin@sxlog.com

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

随心网公众号

       

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

网站分类

最近发表

标签列表

支付宝红包

支付宝扫码领红包

友情链接

本站支持IPv6访问 本站支持SSL安全访问

可信网站

神目 网站统计 | 网站地图 | 版权声明 | 关于本站

Copyright © 2015-2024 神目网 | Zblog强力驱动 All Rights Reserved.

随心网公众号 ×