בדיקת ה-API של CAPTCHA ב-Insomnia
צרו משימה עם גוף JSON, העתיקו את מזהה המשימה שהוחזר ואז אחזרו את המשימה עד שהסטטוס שלה יהיה ready או failed. אין צורך בשרשור תגובות לבדיקה הזו.
בדף הזה
הכינו את התצורה המקומית שלכם
נדרשים מפתח API של סביבת עבודה, פרופיל פעיל לאתר היעד ופרוקסי. הגדירו את פרופיל האתר לפני שליחת המשימה: ציון שם מארח ופעולה לא יוצר פרופיל.
השתמשו בסביבה מקומית פרטית בשם solvethree-local עם המשתנים שלהלן. אלה שמות שנבחרו למדריך הזה, ולא שדות API נוספים. אל תשמרו את מפתח ה-API ואת פרטי ההזדהות לפרוקסי בתצורות משותפות.
| שם | ערך |
|---|---|
api_base | https://api.solvethree.com/v1 |
api_key | מפתח ה-API הפרטי של סביבת העבודה שלכם. |
site | שם המארח שהוגדר בפרופיל האתר הפעיל שלכם, ולא כתובת URL מלאה של דף. |
action | פעולת ה-reCAPTCHA שבה משתמשת הבקשה ליעד. |
proxy | כתובת ה-URL של פרוקסי HTTP או HTTPS שלכם, ללא נתיב, שאילתה או מקטע. |
request_id | מזהה למשימה הלוגית הזו: 1–64 תווי ASCII מסוג אותיות, ספרות, קווים תחתונים או מקפים. |
task_id | השאירו ריק עד שתגובת היצירה תספק את מזהה המשימה. |
צרו את המשימה ואז העתיקו את המזהה שלה
- 1.
הגדרת בקשת היצירה
צרו בקשת POST באמצעות
api_baseואחריו/tasks. הוסיפו את פרמטר השאילתהwaitMsעם הערך0. בחרו באימות Bearer וספקו אתapi_keyכטוקן; הבקשה חייבת לשלוח כותרתAuthorizationבאמצעות שיטת Bearer. - 2.
בנו את גוף ה-JSON
בחרו גוף JSON שמכיל את
site,action,proxyו-requestId. מלאו את שלושת הראשונים מהמשתנים המקומיים התואמים ואתrequestIdמתוךrequest_id. שלחו בדיוק אחד מביןproxyאוproxyCandidates; המדריך הזה משתמש ב-proxy. אל תוסיפוtypeאוurl. השמטתrecaptchaTypeבוחרת בברירת המחדל,enterprise-v3. - 3.
שלחו ובדקו את התגובה
בדקו את תגובת ה-HTTP לפני שתקראו אותה כנתוני משימה שהתקבלו בהצלחה. אם היצירה הצליחה, העתיקו את מזהה המשימה שהוחזר אל
task_id. שמרו את גוף המשימה ואתrequest_idזמינים למקרה שתצטרכו לשחזר את הבקשה. - 4.
אחזרו את המשימה הזו
צרו בקשת GET באמצעות
api_base, אחריו/tasks/ולבסוף מזהה המשימה שהועתק. הגדירו אתwaitMsל-15000, השתמשו באותו מפתח Bearer והשאירו את הגוף ריק. העתיקו את המזהה ידנית; המדריך הזה לא מסתמך על ביטוי לשרשור תגובות.
Create task
Method: POST
URL: https://api.solvethree.com/v1/tasks?waitMs=0
Auth: Bearer Token — your private workspace key
Body: JSON — site, action, proxy and a stable requestId
Retrieve task
Method: GET
URL: https://api.solvethree.com/v1/tasks/PASTE_RETURNED_ID?waitMs=15000
Auth: Bearer Token — the same workspace key
Body: none
Keep the task's proxy in the JSON body. Insomnia's own network proxy setting
controls its API connection, not the proxy used to generate/submit the solution.החליטו כיצד לטפל בתגובה
- בקשת ה-HTTP מחזירה תגובה שאינה מציינת הצלחה.
בדקו את שגיאת ה-HTTP לפני שתנסו לקרוא נתוני משימה שהתקבלו בהצלחה.
כדאי לנסות: תקנו את בעיית הבקשה או האימות שדווחה. אל תשלחו שוב ושוב קלט לא תקין ללא שינוי, ואל תניחו שכל שגיאה מעידה על יתרה לא מספקת.
- המשימה במצב
pendingאוsolving. אף אחד מהמצבים האלה לא מכיל פתרון שמיש.
כדאי לנסות: שלחו שוב את בקשת ה-GET עבור אותו מזהה משימה. אל תיצרו משימה נוספת רק מפני שזו עדיין לא הסתיימה.
- המשימה במצב
failed. קראו את
errorCodeואתerror;site-unreachableהיא אחת משגיאות המשימה האפשריות.כדאי לנסות: הפסיקו לאחזר את המשימה הזו וטפלו בסיבה שדווחה לפני שתתחילו משימה נוספת. מתקבל החזר על פתרונות שנכשלו.
- בקשת היצירה חורגת מהזמן הקצוב בלי להחזיר מזהה.
חריגה מהזמן הקצוב לחיבור לא מוכיחה שהיצירה נכשלה.
כדאי לנסות: שלחו שוב את אותו גוף משימה עם אותו
requestIdכדי לשחזר את המשימה הקיימת. שינוי הקלט תוך שימוש חוזר באותו מזהה גורם להתנגשות.
משימת reCAPTCHA במצב ready מספקת טוקן. אם אתם שולחים אותו ליעד, השתמשו ב-userAgent וב-secChUa שהוחזרו, עם אותו פרוקסי ששימש לפתרון. תגובה במצב מוכן מאשרת שנוצר פתרון — לא שבקשת היישום שלכם הצליחה.
מקורות ותיעוד API
הפעלת המשימה הראשונה שלך.
התחילו עם $5 בקרדיט לסביבת העבודה.