Döndürülen kullanıcı aracısını ve istemci ipuçlarını kullanın
Çözümü hedef web sitesine gönderen istekte, döndürülen tarayıcı kimliğini kullanın. Her iki başlığı da çözümdeki değerlerle ayarlayın ve bu isteği çözüm sırasında başarılı olan proxy üzerinden gönderin.
Bu sayfada
Mevcut tarayıcı başlıklarınızı değiştirin
| HTTP başlığı | Hazır çözümdeki değer |
|---|---|
| User-Agent | solution.userAgent |
| sec-ch-ua | solution.secChUa |
Veri kazıyıcınızdan veya mevcut bir HTTP oturumundan gelen rastgele bir kullanıcı aracısını korumayın. Bu, çözümle döndürülen tarayıcı kimliğini ilgisiz bir kimlikle değiştirir. Yalnızca sec-ch-ua değerini güncellemek, iki başlığın farklı tarayıcıları tanımlamasına yol açar.
Yinelenen başlıklar eklemek yerine eski değerleri değiştirin. İstek gönderilmeden önce bunların üzerine yazabilecek oturum varsayılanlarını veya istek oluşturma ara katmanlarını kontrol edin.
Başarılı olan proxy’yi kullanın
Bir ready sonucuyla başlayın; pending ve solving kullanılabilir bir çözüm içermez. SDK’nın solve metodu hazır bir sonuç bekler veya hata fırlatır.
Tek bir proxy ile gönderilen görevde, hedef isteği için aynı proxy’yi yeniden kullanın. proxyCandidates sağladıysanız, başarılı proxy’yi Python’ın successful_proxy(original_task, ready_result) veya JavaScript’in successfulProxy(originalTask, readyResult) yardımcısıyla seçin. Doğrudan ilk adayı kullanmayın.
Aşağıdaki örnekler, giden isteğin proxy’sini request içindeki proxy alanından okur. Aday tabanlı bir görevde, isteği göndermeden önce yardımcının seçtiği değeri bu alana yerleştirin. Bu yapılandırma için proxy adayı seçimi kılavuzuna bakın.
Hedef isteğini Python veya Node.js ile gönderin
Bu örnekler bir reCAPTCHA v3 Enterprise belirteci gönderir. Python’da solution, hazır sonucun çözüm sözlüğüdür. Node.js’de result, hazır görevdir. Her iki örnek de döndürülen başlıkları açıkça ayarlar ve isteği seçilen proxy üzerinden yönlendirir.
# Continue after client.solve(). Install requests separately: pip install requests.
import requests
# This example endpoint accepts the standard reCAPTCHA form field.
# Use your application's real URL, form fields, CSRF token and session.
response = requests.post(
"https://accounts.example.com/login",
data={"g-recaptcha-response": solution["token"]},
headers={
"User-Agent": solution["userAgent"],
"sec-ch-ua": solution["secChUa"],
},
proxies={"http": request["proxy"], "https": request["proxy"]},
timeout=30,
allow_redirects=False,
)
# Inspect the application's response to determine whether it accepted the request.
print("Application HTTP status:", response.status_code)// Continue after client.solve(). Install undici separately: npm install undici@7.
import { fetch, ProxyAgent } from 'undici';
const dispatcher = new ProxyAgent(request.proxy);
try {
// Replace the URL and form fields with your application's contract.
const response = await fetch('https://accounts.example.com/login', {
method: 'POST',
dispatcher,
redirect: 'manual',
headers: {
'user-agent': result.solution.userAgent,
'sec-ch-ua': result.solution.secChUa,
},
body: new URLSearchParams({
'g-recaptcha-response': result.solution.token,
}),
signal: AbortSignal.timeout(30_000),
});
console.log('Application HTTP status:', response.status);
await response.arrayBuffer();
} finally {
await dispatcher.close();
}Örnek oturum açma URL’sini amaçlanan hedef URL ile değiştirin ve ilgili uygulamanın gerçek form alanlarını, CSRF belirtecini ve oturumunu kullanın. Örnekler, uygulamanın belirteci g-recaptcha-response içinde kabul ettiğini varsayar; döndürülen tarayıcı başlıkları form gövdesine değil, HTTP başlıklarına yerleştirilmelidir.
Hedef isteği reddederse, HTTP istemcinizden gerçekte ne gönderildiğini inceleyin: belirteç değeri, her iki tarayıcı başlığı, proxy ve hedef URL. Bir ready görevi, çözümün oluşturulduğu anlamına gelir; hedefin gönderiminizi kabul ettiği anlamına gelmez. Yazdırılan uygulama HTTP durumu bir başlangıç noktasıdır; gerçek başarı veya başarısızlık sonucu için uygulamanın yanıtını kontrol edin.
Kaynaklar ve API referansı
İlk görevinizi çalıştırın.
$5 çalışma alanı kredisiyle başlayın.