vsping

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

⬆️
返回
顶部