Make'te CAPTCHA görev API'sini kullanın

solvethree tarafından4 dk okuma

Görevi Make'in HTTP modülüyle bir kez oluşturun, kimliğini kaydedin ve ayrı bir GET isteğiyle kontrol edin. ready, failed ve tamamlanmamış görevleri ayrı ayrı yönlendirin. Bu, yerel bir solvethree uygulaması veya webhook değil, elle yapılandırılan bir HTTP entegrasyonudur.

Bu sayfada

Oluşturma isteğini yapılandırın

Önce çalışma alanınızda hedef ana makine adı için etkin bir profil ayarlayın. site ve action göndermek profil oluşturmaz. Hedef henüz yapılandırılmadıysa site profili kurulumuna bakın.

  1. 1.

    HTTP v4 kimlik doğrulamasını yapılandırın

    Kimlik doğrulama türü olarak API key seçin ve bir kimlik bilgileri anahtarlığı oluşturun. Anahtar değerini Bearer, ardından bir boşluk ve çalışma alanı API anahtarınız olacak şekilde; yerleşimi In the header, parametre adını ise Authorization olarak ayarlayın. İzin verilen hizmet kaynaklarını https://api.solvethree.com ile sınırlandırın. Anahtarı senaryo verileri üzerinden aktarmak yerine anahtarlıkta tutun.

  2. 2.

    İstek ayarlarını girin

    Aşağıda gösterilen yöntemi, URL'yi, sorgu parametresini, başlığı ve JSON gövdesini kullanın. Her birini modüldeki ilgili alana girin. JSON istek içeriğine yalnızca body içeriği girilmelidir; örneğin tamamı açıklayıcı bir yapılandırmadır, içe aktarılabilir bir Make şablonu değildir.

Make · ilk HTTP isteğinin yapılandırması
{
  "method": "POST",
  "url": "https://api.solvethree.com/v1/tasks",
  "query": {
    "waitMs": "0"
  },
  "headers": {
    "Content-Type": "application/json"
  },
  "body": {
    "site": "accounts.example.com",
    "action": "login",
    "proxy": "http://USER:PASSWORD@PROXY:PORT",
    "requestId": "one-stable-id-for-this-logical-job"
  },
  "authentication": {
    "type": "API key",
    "Key": "Bearer YOUR_PRIVATE_WORKSPACE_KEY",
    "API key placement": "In the header",
    "API key parameter name": "Authorization",
    "Allowed service origins": [
      "https://api.solvethree.com"
    ]
  }
}
  • site değerini tam bir URL ile değil, yapılandırılmış ana makine adıyla değiştirin. action değerini hedef akışın kullandığı eylem olarak ayarlayın.
  • proxy değerini proxy URL'nizle değiştirin. İstek, proxy veya proxyCandidates alanlarından tam olarak birini gerektirir; örnekte tek bir proxy kullanılır.
  • Her yeni mantıksal işe kendi requestId değerini verin ve kurtarma için saklayın. Örnek değer bir yer tutucudur; ilgisiz işlerde yeniden kullanılacak bir kimlik değildir.
  • Bu reCAPTCHA isteğine type veya url eklemeyin. recaptchaType belirtilmediğinde varsayılan olarak enterprise-v3 kullanılır.

Görev kimliğini kaydedin ve GET isteğini yapılandırın

Başarılı bir oluşturma yanıtından sonra, başka bir işlem yapmadan önce döndürülen görev kimliğini mantıksal işle ilişkilendirerek kaydedin. Bu görevi almak için ayrı bir HTTP istek modülü ekleyin.

Görevi alma isteğinin ayarları
Görevi alma isteğinin ayarları
AyarDeğer
YöntemGET
URLhttps://api.solvethree.com/v1/tasks/:id; :id yerine kayıtlı görev kimliğini yazın
Kimlik doğrulamaAPI anahtarı; oluşturma isteğinin kimlik bilgileri anahtarlığını yeniden kullanın
İstek gövdesiYok

Görev durumuna göre yönlendirmeden önce başarısız HTTP yanıtlarını işleyin. HTTP hatası, durumu failed olan bir görevle aynı şey değildir; okunamayan veya başarısız bir yanıtı başka bir pending sonucu olarak değerlendirmeyin.

Döndürülen görev durumuna göre yönlendirin

GET başarılı olduktan sonra, döndürülen status alanında açık filtreler kullanan bir yönlendirici ekleyin. Her başarılı HTTP yanıtını çözüm yoluna göndermeyin.

Görev durumu yolları
Görev durumu yolları
FiltreEylem
status, ready değerine eşitÇözümü gönderimi yapan istemciye aktarın ve bu görevin durum sorgulama yolunu kapatın.
status, failed değerine eşiterrorCode ve error alanlarını kaydedin, ardından bu görevin durumunu sorgulamayı bırakın. Başarısız çözümlerin ücreti iade edilir.
status, pending değerine eşit VEYA status, solving değerine eşitKayıtlı görev kimliğini saklayın ve bu durum sorgulama çalıştırmasını sonlandırın. Daha sonraki bir çalıştırmada GET ile devam edin.

Tamamlanmamış görev filtresini tüm durumları kapsayan bir filtreye dönüştürmek yerine açıkça tanımlayın. Eksik veya beklenmeyen bir durum, sessizce sonsuza kadar sorgulanmak yerine incelenmelidir. Başarısızlık yolunda, başka bir görev oluşturmadan önce bildirilen hatayı araştırın; değiştirilmemiş geçersiz girdiler yeniden denemelerle düzelmez.

POST'u tekrarlamak yerine kayıtlı kimlikle devam edin

Basit ve sınırlandırılmış bir tasarım, her durum sorgulama çalıştırmasında bir GET gerçekleştirir. Tamamlanmamış işi bir sonraki çalıştırmanın okuyabileceği bir yere kaydedin; yalnızca mevcut yürütmede bulunan bir görev kimliğine güvenmeyin.

  1. 1.

    Giriş yolunu seçin

    İşin zaten bir görev kimliği varsa doğrudan GET'e geçin. Oluşturma yoluna yalnızca mevcut bir görevi olmayan yeni bir iş girmelidir.

  2. 2.

    Tamamlanmamış çalıştırmaları sonlandırın

    pending veya solving için görev kimliğini saklayın ve çalıştırmayı sonlandırın. Devam ederken aynı kimliği alın. Sonraki durum sorgulama çalıştırmalarının sonuçları tekrar işlememesi için son duruma ulaşan görevleri kapalı olarak işaretleyin.

  3. 3.

    Tüm tekrarlayıcıları sınırlandırın

    Bunun yerine bir tekrarlayıcı eklerseniz sonlu bir üst sınır belirleyin ve kayıtlı kimlik için yalnızca GET'i tekrarlayın. ready veya failed sonrasında başka durum sorgulamalarını veya sonuç işlemeyi engelleyin. Tekrar sınırına ulaşmak, durup kimliği saklamak anlamına gelir; yerine yeni bir görev oluşturmak değil.

Hazır sonucu proxy destekleyen bir istemciye aktarın

Bu reCAPTCHA isteğinde gönderilecek değer görev kimliği değil, solution.token değeridir. Amaçlanan hedefe gönderirken döndürülen userAgent ve secChUa tarayıcı kimliğini başarılı proxy ile birlikte kullanın.

Make'in HTTP modülünün son istek için çözücünün müşteri proxy'sini kullanabileceğini varsaymayın. Hazır sonucu, gerekli proxy'yi ve tarayıcı kimliğini destekleyen bir istemciye aktarın. ready, çözümün üretildiği anlamına gelir; kabul edilip edilmediğini hedefin sonraki gönderime verdiği yanıt belirler.

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

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

Çalışma alanı oluşturun
Make'te CAPTCHA görev API'sini kullanın · solvethree