API bağlantısı ile CAPTCHA proxy'si farklıdır
Görevin proxy alanı, solvethree hizmetine çözüm için hangi proxy'nin kullanılacağını bildirir. Uygulamanızın API bağlantısını veya tarayıcınızın hedefe bağlantısını yapılandırmaz. Bunlar ayrı bağlantılardır.
Bu sayfada
İsteği sunucunuzdan hedefe kadar izleyin
Application server
-> HTTPS api.solvethree.com/v1/tasks
Authorization: Bearer <workspace API key>
JSON: { "site": "accounts.example.com", "action": "login", "proxy": "http://USER:PASS@PROXY:PORT" }
solvethree solves through the proxy supplied in that JSON.
Application or browser
-> the SAME successful proxy and pinned exit
-> intended target, with the returned token/headers/cookie and browser identity
The API key belongs on the API request, never the target request.
Putting a proxy URL in task JSON does not configure the application's HTTP client.Sunucunuz, solvethree API'sine kimlik doğrulamalı bir HTTPS isteği gönderir. Proxy URL'si JSON gövdesi içinde iletilir; ardından solvethree çözüm için bu proxy'yi kullanır. Sonrasında uygulamanız veya tarayıcınız hedefe ayrı bir istek yapar. Ne görev alanı ne de SDK çağrısı bu son bağlantıyı otomatik olarak yapılandırır.
Örnekteki ana makine adını, eylemi ve proxy kimlik bilgilerini kendi değerlerinizle değiştirin. Sitenin çalışma alanınızın erişebildiği etkin bir profili olmalıdır; ana makine adını göndermek profil oluşturmaz. Site profili kurulumuna bakın.
Çalışma alanı API anahtarını sunucunuzda tutun. Görev durumunu sorgularken de Bearer yetkilendirme üstbilgisini yalnızca API ana makinesine gönderin. Bu üstbilgiyi hedef isteğine kopyalamayın veya proxy kimlik doğrulaması olarak kullanmayın.
Başarılı proxy'yi ve aynı çıkışı kullanın
Çözümü gönderen HTTP istemcisini veya tarayıcıyı ayrıca yapılandırın. Başarılı proxy'yi, dönen userAgent ve secChUa tarayıcı kimliğiyle birlikte kullanın. Çözümü ilgisiz bir tarayıcı kimliği, proxy veya hedef URL ile birleştirmeyin.
Sağlayıcı bağlantılar arasında çıkış IP'sini değiştiriyorsa aynı proxy URL'sini kullanmak yeterli değildir. Çözüm işleminin ve hedefe gönderimin aynı çıkışı paylaşması için sağlayıcının oturum veya sabitleme özelliğini kullanın. Konut veya mobil etiketi, hedefin bunu kabul edeceğini göstermez.
proxyCandidates kullanıyorsanız listedeki rastgele bir öğe üzerinden değil, gerçekten başarılı olan proxy üzerinden gönderim yapın. Adaylar, solvethree hizmetinin alternatif çıkışları denemesini sağlar; tarayıcınızı yapılandırmaz veya kabul garantisi vermez.
ready durumundaki bir görev, çözümün mevcut olduğu anlamına gelir. Kabul edilmesi ayrı bir sonuçtur: Çözümü taşıyan isteğe hedefin verdiği yanıtı inceleyin.
Görevi değiştirmeden önce HTTP_PROXY ayarını kontrol edin
HTTP istemciniz HTTP_PROXY veya diğer proxy ortam ayarlarını okuyorsa bu ayarların api.solvethree.com adresine yapılan istekleri de yönlendirip yönlendirmediğini kontrol edin. Bu, API bağlantısını yalnızca hedef trafiği için kullanmayı amaçladığınız bir proxy üzerinden geçirebilir. Görev JSON'uyla eşleştiğini varsaymak yerine istemcinin fiilen kullandığı aktarım yapılandırmasını inceleyin.
API aktarımını ve hedef aktarımını ayrı yapılandırın. Ortam proxy ayarı, zorunlu görev alanının yerine geçmez: Bir reCAPTCHA isteği yine de proxy veya proxyCandidates alanlarından tam olarak birini içermelidir.
- API isteği, bir görev almadan önce başarısız olur.
HTTP yanıtını ve ortam proxy ayarları dâhil API istemcinizin kullandığı rotayı kontrol edin.
Şunu deneyin: Başarılı yanıt gövdesini okumadan önce HTTP hatasını ele alın. Görev proxy'sini körlemesine değiştirmek yerine istenmeyen API yönlendirmesini düzeltin.
- HTTP 407 alırsınız.
Proxy kimlik doğrulama hatasının hangi bağlantıda oluştuğunu belirleyin: API bağlantısında mı, yoksa görev proxy'sini kullanan bir bağlantıda mı?
Şunu deneyin: Bu proxy'nin kimlik bilgilerini düzeltin. URL'nin tamamını değil, kullanıcı adı ve parola bileşenlerindeki ayrılmış karakterleri yüzde kodlamasıyla kodlayın.
- Görev oluşturma zaman aşımına uğrar.
Zaman aşımı, API'nin görevi oluşturamadığını kanıtlamaz.
Şunu deneyin: Kimliği elinizdeyse görevi sorgulayın. Bir
requestIdsağladıysanız yeni bir mantıksal görev oluşturmadan önce aynı görev isteğini bu kimlikle tekrarlayarak mevcut görevi geri getirin.- Görev failed durumuna geçer.
errorCodeveerroralanlarını okuyun; bu, HTTP aktarım hatasından farklıdır.Şunu deneyin: Bu görevi sorgulamayı bırakın ve bildirilen nedeni giderin. Geçersiz girdileri değiştirmeden yeniden denemeyin veya hataya API bağlantısının proxy'sinin neden olduğunu varsaymayın.
Kaynaklar ve API referansı
İlk görevinizi çalıştırın.
$5 çalışma alanı kredisiyle başlayın.