Phân Tích Kỹ Thuật

API CaptchaAI JSON và API biểu mẫu: Nên sử dụng định dạng nào

CaptchaAI chấp nhận các yêu cầu ở cả định dạng được mã hóa biểu mẫu và JSON. Cả hai đều hoạt động giống nhau — hãy chọn dựa trên ngôn ngữ và sở thích của bạn.


So sánh song song

Mã hóa biểu mẫu (Mặc định)

import requests

resp = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": "YOUR_API_KEY",
    "method": "userrecaptcha",
    "googlekey": "SITE_KEY",
    "pageurl": "https://example.com",
    "json": 1,
})

Loại nội dung: application/x-www-form-urlencoded

JSON

import requests

resp = requests.post("https://ocr.captchaai.com/in.php", json={
    "key": "YOUR_API_KEY",
    "method": "userrecaptcha",
    "googlekey": "SITE_KEY",
    "pageurl": "https://example.com",
    "json": 1,
})

Loại nội dung: application/json


Sự khác biệt chính

Yếu tố Được mã hóa biểu mẫu JSON
Loại nội dung application/x-www-form-urlencoded application/json
Cấu trúc dữ liệu Cặp khóa-giá trị phẳng Các đối tượng lồng nhau có thể
Dữ liệu nhị phân Sử dụng nhiều phần để tải lên tập tin Mã hóa Base64 trong trường nội dung
Hỗ trợ mảng bị giới hạn Bản địa
Từ khóa Python data={} json={}
Node.js URLSearchParams JSON.stringify()
Khả năng đọc Đơn giản cho các thông số phẳng Tốt hơn cho dữ liệu phức tạp
Khả năng tương thích Hoạt động ở mọi nơi Hoạt động ở mọi nơi

Định dạng phản hồi

Thêm json=1 để nhận phản hồi JSON bất kể định dạng yêu cầu:

# Without json=1 — plain text response
resp = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": "YOUR_API_KEY",
    "method": "userrecaptcha",
    "googlekey": "SITE_KEY",
    "pageurl": "https://example.com",
})
# Response: "OK|12345678"

# With json=1 — JSON response
resp = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": "YOUR_API_KEY",
    "method": "userrecaptcha",
    "googlekey": "SITE_KEY",
    "pageurl": "https://example.com",
    "json": 1,
})
# Response: {"status": 1, "request": "12345678"}

Luôn sử dụng json=1 để phân tích cú pháp dễ dàng hơn.


Ví dụ về Python

Được mã hóa biểu mẫu

import requests

# Submit
resp = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": "YOUR_API_KEY",
    "method": "userrecaptcha",
    "googlekey": "SITE_KEY",
    "pageurl": "https://example.com",
    "json": 1,
})
task_id = resp.json()["request"]

# Poll (always GET with query params)
resp = requests.get("https://ocr.captchaai.com/res.php", params={
    "key": "YOUR_API_KEY",
    "action": "get",
    "id": task_id,
    "json": 1,
})

Nội dung JSON

import requests

# Submit with JSON
resp = requests.post("https://ocr.captchaai.com/in.php", json={
    "key": "YOUR_API_KEY",
    "method": "userrecaptcha",
    "googlekey": "SITE_KEY",
    "pageurl": "https://example.com",
    "json": 1,
})
task_id = resp.json()["request"]

# Poll (same as form-encoded — GET with params)
resp = requests.get("https://ocr.captchaai.com/res.php", params={
    "key": "YOUR_API_KEY",
    "action": "get",
    "id": task_id,
    "json": 1,
})

Ví dụ về Node.js

Được mã hóa biểu mẫu

const axios = require('axios');
const qs = require('querystring');

// Submit
const resp = await axios.post(
  'https://ocr.captchaai.com/in.php',
  qs.stringify({
    key: 'YOUR_API_KEY',
    method: 'userrecaptcha',
    googlekey: 'SITE_KEY',
    pageurl: 'https://example.com',
    json: 1,
  })
);
const taskId = resp.data.request;

Nội dung JSON

const axios = require('axios');

// Submit with JSON
const resp = await axios.post(
  'https://ocr.captchaai.com/in.php',
  {
    key: 'YOUR_API_KEY',
    method: 'userrecaptcha',
    googlekey: 'SITE_KEY',
    pageurl: 'https://example.com',
    json: 1,
  }
);
const taskId = resp.data.request;

CAPTCHA hình ảnh: Biểu mẫu so với JSON

Đối với CAPTCHA hình ảnh, định dạng quan trọng hơn:

Biểu mẫu có tệp tải lên (Nhiều phần)

# File upload — form-encoded with multipart
resp = requests.post("https://ocr.captchaai.com/in.php",
    data={
        "key": "YOUR_API_KEY",
        "method": "post",
        "json": 1,
    },
    files={
        "file": open("captcha.png", "rb"),
    },
)

JSON với Base64

import base64

# Base64 in JSON body
with open("captcha.png", "rb") as f:
    body = base64.b64encode(f.read()).decode()

resp = requests.post("https://ocr.captchaai.com/in.php", json={
    "key": "YOUR_API_KEY",
    "method": "base64",
    "body": body,
    "json": 1,
})

Biểu mẫu với Base64

# Base64 in form data
resp = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": "YOUR_API_KEY",
    "method": "base64",
    "body": body,
    "json": 1,
})

Khi nào nên sử dụng cái nào

Kịch bản Được đề xuất tại sao
Kịch bản đơn giản Được mã hóa biểu mẫu Đơn giản hơn, ít phụ thuộc hơn
Tích hợp API REST JSON Phù hợp với các mẫu API điển hình
Tải lên tệp Biểu mẫu nhiều phần Tải lên nhị phân trực tiếp
Hình ảnh base64 lớn Được mã hóa biểu mẫu Xử lý tốt hơn tải trọng lớn
TypeScript/modern JS JSON Hỗ trợ đối tượng gốc
Tích hợp hệ thống kế thừa Được mã hóa biểu mẫu Khả năng tương thích phổ quát
Di chuyển từ 2Captcha Được mã hóa biểu mẫu Định dạng tương tự như 2Captcha

Những lỗi thường gặp

sai lầm vấn đề sửa chữa
Sử dụng json={} nhưng không có json: 1 trong dữ liệu Phản hồi là văn bản thuần túy Bao gồm "json": 1 trong dữ liệu
Trộn data=json= trong các yêu cầu Python Yêu cầu không đúng định dạng Sử dụng cái này hay cái kia
Quên tiêu đề Loại nội dung Máy chủ không thể phân tích nội dung Hãy để thư viện HTTP của bạn tự động thiết lập nó
Gửi nội dung JSON đến điểm cuối thăm dò ý kiến Cuộc thăm dò sử dụng thông số GET Luôn sử dụng GET với các thông số truy vấn cho /res.php

Câu hỏi thường gặp

Định dạng có ảnh hưởng đến tốc độ hoặc độ chính xác của việc giải quyết không?

Không. Cả hai định dạng đều tạo ra kết quả giống nhau. Máy chủ xử lý chúng theo cùng một cách.

Tôi có thể trộn các định dạng trong cùng một dự án không?

Vâng. Bạn có thể gửi bằng JSON và thăm dò ý kiến ​​​​với các thông số truy vấn (đó là cách hoạt động của cuộc thăm dò ý kiến). Mỗi yêu cầu là độc lập.

API tương thích với 2Captcha sử dụng định dạng nào?

API 2Captcha ban đầu sử dụng mã hóa biểu mẫu. CaptchaAI bổ sung thêm tính năng hỗ trợ JSON. Nếu bạn đang di chuyển từ 2Captcha, hãy sử dụng mã hóa biểu mẫu.


Hướng dẫn liên quan


Chọn định dạng ưa thích của bạn —thử API CaptchaAIHôm nay.

Os comentários estão desativados para este artigo.