Oocl_rotate_new

O uso de servidores proxy não é necessário para esta tarefa.
A solicitação deve conter duas imagens: fundo e círculo.
Parâmetros da solicitação
IMPORTANTE: obtenha as imagens em base64 diretamente antes de criar a tarefa para evitar erros durante a resolução (veja a seção Como obter base64).
type<string>requiredComplexImageTask
class<string>requiredrecognition
imagesBase64<array>requiredArray de imagens codificadas em base64 (sem o prefixo data:image/png;base64,).
Task (dentro de metadata)<string>requiredNome da tarefa: "oocl_rotate_new"
Método para criar tarefa
https://api.capmonster.cloud/createTask
Exemplo de requisição
{
"clientKey": "API_KEY",
"task": {
"type": "ComplexImageTask",
"class": "recognition",
"imagesBase64": [
"{background_base64}",
"{circle_base64}"
],
"metadata": {
"Task": "oocl_rotate_new"
}
}
}
Fundo (exemplo background_base64):

Círculo (exemplo circle_base64):

Exemplo de resposta
{
"errorId":0,
"taskId":407533072
}
Método para obter o resultado da tarefa
https://api.capmonster.cloud/getTaskResult
Exemplo de requisição
{
"clientKey":"API_KEY",
"taskId": 407533072
}
Exemplo de resposta:
Graus indicando quanto o círculo deve ser girado no sentido horário.
{
"errorId":0,
"status":"ready",
"errorCode":null,
"errorDescription":null,
"solution":
{
"answer":[130.90909],
"metadata":{"AnswerType":"NumericArray"}
}
}
Como obter Base64
As imagens nas páginas podem ser representadas tanto como uma URL quanto já codificadas em formato Base64. Para encontrar o valor necessário, clique com o botão direito na imagem da captcha, selecione Inspect (Inspecionar) e examine cuidadosamente a seção Elements ou as requisições de rede — ali você poderá encontrar a URL da imagem ou o conteúdo já codificado.
- Abra o seu site onde a captcha é exibida no navegador.
- Clique com o botão direito no elemento da captcha e selecione Inspect (Inspecionar).

Usar biblioteca SDK
- JavaScript / TypeScript
- Python
- C#
Mostrar código (para navegador)
// https://github.com/CapMonsterCloud/capmonster-nodejs-captcha-solver
import {
CapMonsterCloudClientFactory,
ClientOptions,
ComplexImageTaskRecognitionRequest
} from "@zennolab_com/capmonstercloud-client";
document.addEventListener("DOMContentLoaded", async () => {
const API_KEY = "YOUR_API_KEY"; // Informe sua chave de API do CapMonster Cloud
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);
// Não é necessário usar proxy para ComplexImageTaskRecognitionRequest
const ooclRequest = new ComplexImageTaskRecognitionRequest({
imagesBase64: [
"background_base64",
"circle_base64",
],
metaData: {
Task: "oocl_rotate_new",
},
});
// Se necessário, você pode verificar o saldo
const balance = await client.getBalance();
console.log("Balance:", balance);
const result = await client.Solve(ooclRequest);
console.log("Solution:", result.solution);
});
Mostrar código (Node.js)
// https://github.com/CapMonsterCloud/capmonster-nodejs-captcha-solver
const {
CapMonsterCloudClientFactory,
ClientOptions,
ComplexImageTaskRecognitionRequest,
} = require("@zennolab_com/capmonstercloud-client");
const API_KEY = "YOUR_API_KEY"; // Informe sua chave de API do CapMonster Cloud
async function solveOoclRotateNew() {
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY }),
);
// Não é necessário usar proxy para ComplexImageTaskRecognitionRequest
const ooclRequest = new ComplexImageTaskRecognitionRequest({
imagesBase64: [
"background_base64",
"circle_base64",
],
metaData: {
Task: "oocl_rotate_new",
},
});
// Se necessário, você pode verificar o saldo
const balance = await client.getBalance();
console.log("Balance:", balance);
const result = await client.Solve(ooclRequest);
console.log("Solution:", result.solution);
}
solveOoclRotateNew().catch(console.error);
Mostrar código
# https://github.com/CapMonsterCloud/capmonster-python-captcha-solver
import asyncio
from capmonstercloudclient import CapMonsterClient, ClientOptions
from capmonstercloudclient.requests import RecognitionComplexImageTaskRequest
API_KEY = "YOUR_API_KEY" # Informe sua chave de API do CapMonster Cloud
async def solve_oocl_rotate_new():
client = CapMonsterClient(
options=ClientOptions(api_key=API_KEY)
)
# Não é necessário usar proxy para RecognitionComplexImageTaskRequest
oocl_request = RecognitionComplexImageTaskRequest(
imagesBase64=[
"background_base64",
"circle_base64",
],
metadata={
"Task": "oocl_rotate_new",
},
)
# Se necessário, você pode verificar o saldo
balance = await client.get_balance()
print("Balance:", balance)
result = await client.solve_captcha(oocl_request)
print("Solution:", result)
asyncio.run(solve_oocl_rotate_new())
Mostrar código
// https://github.com/CapMonsterCloud/capmonster-dotnet-captcha-solver
using System;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Zennolab.CapMonsterCloud;
using Zennolab.CapMonsterCloud.Requests;
class Program
{
static async Task Main(string[] args)
{
const string API_KEY = "YOUR_API_KEY"; // Informe sua chave de API do CapMonster Cloud
var clientOptions = new ClientOptions
{
ClientKey = API_KEY
};
var cmCloudClient = CapMonsterCloudClientFactory.Create(clientOptions);
// Não é necessário usar proxy para RecognitionComplexImageTaskRequest
var ooclRequest = new RecognitionComplexImageTaskRequest
{
ImagesBase64 = new[]
{
"background_base64",
"circle_base64"
},
Metadata = new RecognitionComplexImageTaskRequest.RecognitionMetadata
{
Task = "oocl_rotate_new"
}
};
// Se necessário, você pode verificar o saldo
var balance = await cmCloudClient.GetBalanceAsync();
Console.WriteLine("Balance: " + balance);
var result = await cmCloudClient.SolveAsync(ooclRequest);
Console.WriteLine("Solution:");
Console.WriteLine(
JsonConvert.SerializeObject(
result.Solution,
Formatting.Indented
)
);
}
}
