תכנון גודל מאגר פרוקסי לפתרון CAPTCHA
יש להתאים את גודל המאגר לתהליכי פתרון ושליחה שחופפים בזמן, ולא לתהליכונים של האפליקציה. יש לשמור על קיבוע הפרוקסי של כל תהליך עד לשליחה ליעד; טוקן מוכן אינו הנקודה שבה משחררים או מחליפים אותו.
בדף הזה
התחילו בארבע הקצאות מקובעות
עבור ארבעה תהליכים לוגיים פעילים, התחילו בארבע הקצאות של סשנים בפרוקסי. כל עבודה משתמשת בסשן שהוקצה לה גם לפתרון וגם לשליחה ליעד, ואז שולחת ללא דיחוי עם זהות הדפדפן שהוחזרה.
[
{
"job": 1,
"proxyEnvironmentVariable": "PROXY_SESSION_1",
"reuseFor": "solve and target submission",
"resultHandling": "submit promptly with returned browser identity"
},
{
"job": 2,
"proxyEnvironmentVariable": "PROXY_SESSION_2",
"reuseFor": "solve and target submission",
"resultHandling": "submit promptly with returned browser identity"
},
{
"job": 3,
"proxyEnvironmentVariable": "PROXY_SESSION_3",
"reuseFor": "solve and target submission",
"resultHandling": "submit promptly with returned browser identity"
},
{
"job": 4,
"proxyEnvironmentVariable": "PROXY_SESSION_4",
"reuseFor": "solve and target submission",
"resultHandling": "submit promptly with returned browser identity"
}
]כך ממפים ארבע עבודות לארבעה סשנים — לא בהכרח לארבע כתובות IP שונות. זה אינו כלל אוניברסלי של כתובת IP אחת לכל תהליכון או מגבלת קיבולת שנמדדה. תהליכון שאינו מריץ תהליך פתרון ושליחה אינו זקוק להקצאה משלו.
אם ספק הפרוקסי שלכם מחליף נקודות יציאה, יש להשתמש בתכונת הסשן או הקיבוע שלו, כך שהפותר והשליחה ישתמשו באותה נקודת יציאה. ארבעה משתני סביבה לבדם אינם מבטיחים זאת. יש לשלוח עם הפרוקסי שהצליח ועם userAgent ו-secChUa של הפתרון, במקום להחליף אותם בכותרות הדפדפן הרגילות של האפליקציה שלכם.
מועמדים הם חלופות, לא מקומות נוספים לפתרון
בקשת reCAPTCHA מקבלת בדיוק אחד מהשדות proxy או proxyCandidates. רשימת המועמדים מקבלת עד שנים עשר כתובות URL שונות של שרתי פרוקסי מסוג HTTP או HTTPS, ללא נתיב, שאילתה או מקטע. אלה נקודות יציאה חלופיות למשימה אחת, ולא אצווה מקבילית: ארבע עבודות עם שנים עשר מועמדים בכל אחת עדיין מייצגות ארבעה תהליכים לוגיים, ולא 48 פתרונות.
כשמשתמשים במועמדים, שמרו את המערך המקורי. ב-reCAPTCHA, השדה solution.egressAttempts מזהה את המועמד שהצליח באמצעות האינדקס שלו, שמתחיל ב-1. לפני בחירת הפרוקסי להגשה, ודאו שזהו מספר שלם בין 1 לאורך המערך. אם הוא חסר או לא תקין, עצרו במקום לנחש.
מגבלת המועמדים אינה המלצה לגודל המאגר, ומנגנון גיבוי אינו מבטיח נקודת יציאה תקינה. משימות סשן דורשות פרוקסי יחיד, לכן אין להשתמש בהן ברשימות מועמדים.
בדקו את תצורת ארבעת התהליכים לפני הוספת כתובות IP
הריצו את תהליך העבודה בפועל מול היעד. תעדו לכל עבודה תווית לא סודית של סשן הפרוקסי, את מצב המשימה הסופי ואת תגובת היעד. הבחינו בין מוכנות הפתרון לבין קבלתו ביעד; אחרת המאגר עשוי להיראות תקין גם כשכל ההגשות נכשלות.
- טוקנים מוכנים ממתינים לפני ההגשה.
האם האפליקציה יכולה להגיש תוצאות בקצב שבו ארבעת התהליכים הפעילים מייצרים אותן?
כדאי לנסות: צמצמו את מספר הפתרונות המתבצעים במקביל לכמות שהאפליקציה יכולה לצרוך במהירות. הוספת סשנים של פרוקסי לא תפתור עיכובים בהגשה.
- היעד דוחה פתרון מוכן.
האם ההגשה השתמשה בנקודת היציאה שהצליחה, בזהות הדפדפן שהוחזרה וביעד המיועד?
כדאי לנסות: תקנו אי-התאמות לפני רכישת כתובות IP נוספות. אם הכול תואם, השוו אפשרויות פרוקסי באמצעות אותו תהליך עבודה מול היעד; הסיווגים ביתי, סלולרי או מרכז נתונים אינם מעידים שההגשה תתקבל.
- הפרוקסי מחזיר HTTP 407.
בדקו את אימות הפרוקסי, כולל תווים שמורים בשם המשתמש או בסיסמה.
כדאי לנסות: תקנו את פרטי ההזדהות והחילו קידוד אחוזים על הרכיבים שלהם, לא על כתובת ה-URL המלאה של הפרוקסי. הוספת מועמדים לא תתקן את אותה שגיאת אימות.
אם הביצועים בהרצה עם ארבעה תהליכים גרועים יותר מאשר בהרצה עם פחות חפיפה, בדקו את ההבדל לפני הרחבת המאגר. הגדילו את מספר ההקצאות המקובעות כשנדרשים יותר תהליכים חופפים, ואז השוו שוב את התוצאות מקצה לקצה. לא חיבור פרוקסי תקין ולא מאגר גדול יותר מעידים על ציון CAPTCHA.
תקצבו בנפרד פתרונות ותעבורת פרוקסי
בתעריפי התשלום לפי שימוש הנוכחיים, 10,000 משימות reCAPTCHA מוכנות עולות $20 לפני זיכוי בחשבון או בונוסים רלוונטיים. על פתרונות שנכשלו ניתן החזר. דחייה מצד היעד אינה מזכה אוטומטית בהחזר על פתרון מוכן.
נהלו את הוצאות הפרוקסי כסעיף נפרד. השתמשו בתנאי החיוב של הספק ובתעבורה שנמדדה במהלך אותו ניסוי פתרון והגשה; מספר הסשנים או המועמדים שהוגדרו אינו מעיד על חשבון התעבורה.
מקורות ותיעוד API
הפעלת המשימה הראשונה שלך.
התחילו עם $5 בקרדיט לסביבת העבודה.