API接口
热门标签
OPENAPI 使用
VSPing OpenAPI
版本 1.4.0
1. 获取 API 凭证
步骤 1:登录控制台
访问 https://console.vsping.com 使用账号密码登录
步骤 2:进入 API 密钥管理
左侧菜单 → 账号管理 → API 密钥
步骤 3:获取凭证
记录以下信息:
AccessKey (AK):访问密钥,如 IYVT6I2BAAAEA6MBIDCBB
SecretKey (SK):安全密钥,如 TVV6ZLeirc+JnPC6pK+mmaWe6vLx5aq4+J7fq6qx/MGcu6Gp
用户名:API 调用时使用的用户名
2. API 地址
生产环境:https://openapi.vsping.com
3. 签名认证
API 请求需通过签名认证,签名算法为 ACS3-HMAC-SHA256。
签名生成步骤:
1. 构建规范请求字符串:{method}\n{uri}\n{query}\n{body_sha256}
2. 计算请求哈希:SHA256(规范请求)
3. 构建待签名字符串:ACS3-HMAC-SHA256\n{请求哈希}
4. 使用 SecretKey 计算 HMAC-SHA256 签名
请求头参数:
X-AccessKey:您的 AccessKey
X-Signature:生成的签名
X-Timestamp:当前时间戳(秒)
X-UserName:用户名
Content-Type:application/json
4. Python 示例代码
完整的 API 请求示例:
import requests
import hashlib
import hmac
import time
import base64
# 配置参数
AK = "IYVT6I2BAAAEA6MBIDCBB"
SK = "TVV6ZLeirc+JnPC6pK+mmaWe6vLx5aq4+J7fq6qx/MGcu6Gp"
USERNAME = "test"
API_HOST = "https://openapi.vsping.com"
def generate_signature(method, uri, query, body):
# 计算 body SHA256
body_hash = hashlib.sha256(body.encode()).hexdigest()
# 构建规范请求
canonical_request = f"{method}\\n{uri}\\n{query}\\n{body_hash}"
# 计算请求哈希
request_hash = hashlib.sha256(canonical_request.encode()).hexdigest()
# 构建待签名字符串
string_to_sign = f"ACS3-HMAC-SHA256\\n{request_hash}"
# 计算签名
decoded_sk = base64.b64decode(SK)
signature = hmac.new(decoded_sk, string_to_sign.encode(), hashlib.sha256).hexdigest()
return signature
def send_request(method, path, body=""):
url = f"{API_HOST}{path}"
timestamp = str(int(time.time()))
signature = generate_signature(method, path, "", body)
headers = {
"X-AccessKey": AK,
"X-Signature": signature,
"X-Timestamp": timestamp,
"X-UserName": USERNAME,
"Content-Type": "application/json"
}
response = requests.request(method, url, headers=headers, data=body)
return response.json()
# 示例:获取节点列表
result = send_request("GET", "/v1/openapi/nodelist")
print("节点列表:", result)
# 示例:执行 Ping 检测
body = '{"domain":"www.baidu.com","nodeIds":[76]}'
result = send_request("POST", "/v1/openapi/pingcheck", body)
print("Ping 检测结果:", result)
5. 使用 SDK
推荐使用官方 SDK 简化开发,支持多种编程语言:
from openapi import Client
client = Client(
"https://openapi.vsping.com",
AK, SK, USERNAME
)
# 获取节点列表
nodes = client.get_node_list()
# 执行检测
token = client.ping_detect("www.baidu.com", [76])
result = client.describe_ping_detect(token)
SDK 源码位置:
golang sdk
python sdk
javascript sdk
java sdk
VSPing OpenAPI v1.4.0