跳到主要内容

HCaptcha Steam 接口

面向 Steam 的 HCaptcha 接口文档

备注

如果你非技术人员,建议直接通过我们的批量注册程序使用,简单,快捷。

当前接口价格基准为: 350点数,不同账户等级享有不同折扣。

🚀 价格

账户等级价格备注
等级 1350 点
等级 2300 点
等级 3280 点
等级 4260 点
等级 5 及以上240 点

🔐 认证方式

接口使用通过密钥使用,密钥可在仪表盘看到。

注意

保护你的密钥不被泄露,我们一般通过密钥来识别用户身份,密钥泄露可能导致您的账户被盗用。

📑 通用约定

  • 所有接口请求与返回均为 application/json
  • 当您请求的格式不符合我们规范时,多数情况下,我们将响应422状态码,当看到该状态码时,这意味着您的请求格式存在问题。
  • 当您的密钥被我们接收后,我们会检查的您的账户是否可用,如果不可用,我们将返回402状态码。
  • 除此之外,我们的响应只有2005xx
  • 绝大多数情况下,我们的响应总是包含字段status,当它的值不是ok时,这意味着本次调用失败了。您可以通过这一点来判断接口状态。

📌 接口名称:HCaptcha Steam 客户验证

🔗 请求地址

POST https://api.captcha.my/api/v1/hcaptcha/steam

📥 请求参数

参数位置参数名类型是否必填描述
bodysitekeystringhCaptcha 网站密钥目前仅支持 eb9cbe72-814a-4392-b9b2-f8965f3686ee
bodychallenge_urlstring挑战页面 URL https://store.steampowered.com/join/
bodyproxiesstring代理服务器地址, 仅支持 HTTP 代理
bodyuser_tokenstring用户令牌
信息

我们会随着 HCaptcha 的更新而更新 sitekey,请注意查看最新的文档。

📤 请求示例

POST 请求示例

Python 请求示例

import requests

headers = {
'Content-Type': 'application/json',
'Accept' : 'application/json',
}

json_data = {
'sitekey' : 'sitekey',
'challenge_url': 'https://store.steampowered.com/join/',
'proxies' : 'http://proxy.example.com:8080',
'user_token' : '',
}

response = requests.post('https://api.captcha.my/api/v1/hcaptcha/steam', headers=headers, json=json_data)

# Note: json_data will not be serialized by requests
# exactly as it was in the original request.
# data = '{"sitekey":"sitekey","challenge_url":"https://store.steampowered.com/join/","proxies":"http://proxy.example.com:8080","user_token":""}'
# response = requests.post('https://api.captcha.my/api/v1/hcaptcha/steam', headers=headers, data=data)

Go 请求示例

package main

import (
"fmt"
"io"
"log"
"net/http"
"strings"
)

func main() {
client := &http.Client{}
var data = strings.NewReader(`{"sitekey":"sitekey","challenge_url":"https://store.steampowered.com/join/","proxies":"http://proxy.example.com:8080","user_token":""}`)
req, err := http.NewRequest("POST", "https://api.captcha.my/api/v1/hcaptcha/steam", data)
if err != nil {
log.Fatal(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Accept", "application/json")
resp, err := client.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
bodyText, err := io.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s\n", bodyText)
}

Javascript 请求示例

fetch('https://api.captcha.my/api/v1/hcaptcha/steam', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify({
'sitekey': 'sitekey',
'challenge_url': 'https://store.steampowered.com/join/',
'proxies': 'http://proxy.example.com:8080',
'user_token': ''
})
});

Php 请求示例

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.captcha.my/api/v1/hcaptcha/steam');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Accept: application/json',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"sitekey":"sitekey","challenge_url":"https://store.steampowered.com/join/","proxies":"http://proxy.example.com:8080","user_token":""}');

$response = curl_exec($ch);

curl_close($ch);

Java 请求示例

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpRequest.BodyPublishers;
import java.net.http.HttpResponse;

HttpClient client = HttpClient.newHttpClient();

HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.captcha.my/api/v1/hcaptcha/steam"))
.POST(BodyPublishers.ofString("{\"sitekey\":\"sitekey\",\"challenge_url\":\"https://store.steampowered.com/join/\",\"proxies\":\"http://proxy.example.com:8080\",\"user_token\":\"\"}"))
.setHeader("Content-Type", "application/json")
.setHeader("Accept", "application/json")
.build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

Clojure 请求示例

(require '[cheshire.core :as json])
(require '[clj-http.client :as client])

(client/post "https://api.captcha.my/api/v1/hcaptcha/steam" {:form-params {:sitekey "sitekey"
:challenge_url "https://store.steampowered.com/join/"
:proxies "http://proxy.example.com:8080"
:user_token ""}
:content-type :json
:accept :json})

Http 请求示例

POST /api/v1/hcaptcha/steam HTTP/1.1
Host: api.captcha.my
User-Agent: curl/8.2.1
Content-Type: application/json
Accept: application/json
Content-Length: 163

{"sitekey":"sitekey","challenge_url":"https://store.steampowered.com/join/","proxies":"http://proxy.example.com:8080","user_token":""}

📦 响应示例

200 响应

生成成功

{
"status": "ok",
"message": "",
"data": {
"token": "P1...",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
"sitekey": "eb9cbe72-814a-4392-b9b2-f8965f3686ee",
"balance": 10000,
"post": 300
}
}

生成失败

{
"status": "error",
"message": "生成失败",
"data": {
"id": "..."
}
}

余额不足

{
"status": "error",
"message": "生成失败"
}

参数错误

{
"status": "error",
"message": "创建请求失败"
}

402 响应

余额不足

{
"status": "error",
"message": "余额不足",
"data": {}
}

422 响应

参数错误

{
"status": "error",
"message": "..."
}