Axios ile CAPTCHA çözümü gönderin

solvethree tarafından2 dk okuma

Node.js SDK'sı ile çözün, ardından hedef isteği için Axios kullanın. Başarılı proxy'yi HttpsProxyAgent öğesine iletin ve Axios'un çakışan bir proxy yapılandırması uygulamaması için proxy: false ayarını yapın. Form alanlarını, CSRF değerini ve oturum çerezlerini yine uygulamanız sağlar.

Bu sayfada

SDK'yı kurun ve yapılandırın

Node.js 22+ kullanın ve bağımlılıkları npm install axios https-proxy-agent https://solvethree.com/downloads/solvethree-sdk-0.1.0.tgz ile yükleyin. Resmi SDK bu tarball URL'si üzerinden dağıtılır; bunun yerine varsayılan bir npm kayıt deposu paketi kullanmayın.

  • SOLVETHREE_API_KEY değerini çalışma alanınızın API anahtarına ayarlayın. Bu kodu sunucuda çalıştırın ve anahtarı orada tutun.
  • SOLVETHREE_PROXY değerini hem çözüm hem de gönderim için kullanılan proxy URL'sine ayarlayın.
  • Çözümden önce konsolda hedef site için etkin bir profil oluşturun. Ana makine adı ve eylem sağlamak profil oluşturmaz. Site profili kurulumuna bakın.
  • Örnekteki ana makine adını, eylemi ve giriş URL'sini uygulamanızın değerleriyle değiştirin. site, tam URL değil, bir ana makine adıdır; eylem hedef işlemle eşleşmelidir.

Çözün, ardından başarılı proxy üzerinden gönderin

client.solve() görevi oluşturur ve görev hazır olana veya istisna fırlatılana kadar sorgular. Örnek daha sonra successfulProxy(input, result) ile özgün başarılı proxy'yi seçer ve Axios isteğinde kullanır.

Axios · açıkça belirtilmiş hedef proxy ajanı
// npm install axios https-proxy-agent and the official solvethree SDK tarball.
import axios from 'axios';
import { HttpsProxyAgent } from 'https-proxy-agent';
import { Solvethree, successfulProxy } from '@solvethree/sdk';
const client = new Solvethree({ apiKey: process.env.SOLVETHREE_API_KEY });
const input = { site: 'accounts.example.com', action: 'login', proxy: process.env.SOLVETHREE_PROXY };
const result = await client.solve(input);
const proxy = successfulProxy(input, result);
if (!proxy) throw new Error('No valid successful proxy');
const agent = new HttpsProxyAgent(proxy);
try {
  const response = await axios.post('https://accounts.example.com/login',
    new URLSearchParams({ 'g-recaptcha-response': result.solution.token }).toString(), {
      httpsAgent: agent, proxy: false, maxRedirects: 0, timeout: 30000,
      headers: { 'Content-Type': 'application/x-www-form-urlencoded',
        'User-Agent': result.solution.userAgent, 'sec-ch-ua': result.solution.secChUa },
      validateStatus: () => true,
    });
  console.log('Application HTTP status:', response.status);
  // Add the application's real form fields, CSRF value and session cookies.
} finally { agent.destroy(); }

httpsAgent, HTTPS hedef isteğini seçilen proxy üzerinden yönlendirir. proxy: false, Axios'un ayrı proxy yapılandırmasını devre dışı bırakarak kontrolü aracıya bırakır. Bu, SDK'nın solvethree API'sine bağlantısını değil, hedef isteğini yapılandırır. İstek tamamlandığında veya başarısız olduğunda aracı yok edilir.

Döndürülen userAgent ve secChUa değerlerini bu proxy ile birlikte kullanın. Token'ı gönderirken bunları ilgisiz tarayıcı üst bilgileriyle değiştirmeyin.

Uygulama yanıtını kontrol edin

Axios çağrısının zaman aşımı 30 saniyedir ve çağrı yönlendirmeleri izlemez. validateStatus tüm HTTP durum kodlarını kabul ettiğinden, response.status değerini ve yanıt gövdesini kendiniz inceleyin; bir HTTP hata yanıtı yalnızca durum kodu nedeniyle istisna fırlatmaz.

Hazır bir görev, çözümün üretildiği anlamına gelir; hedefin bunu kabul ettiği anlamına gelmez. Günlüğe kaydedilen HTTP durum kodunu başarılı girişin kanıtı saymak yerine uygulamanın gerçek başarı koşulunu kontrol edin.

İlk görevinizi çalıştırın.

$5 çalışma alanı kredisiyle başlayın.

Çalışma alanı oluşturun
Axios ile CAPTCHA çözümü gönderin · solvethree