AntiGateTask: الحل الأمثل لتجاوز الحماية القائمة على رموز التحقق
في هذا النوع من المهمات، يوفر تطبيقك عنوان صفحة ويب وتكليف خاص بالعمال. حيث يعمل العمال على إكمال التكليف خطوة بخطوة ثم يعيدوا بصمة المتصفح المكتملة وملفات الارتباط الخاصة بهم إلى تطبيقك الذي يقوم باستخدامها من لإكمال جلسة التصفح.
للاطلاع على الشرح الكامل للتكنولوجيا يُرجى قراءة هذا المقال هذا
لاحظ أن هناك معلمات الوكيل الاختيارية. يتم قبول وكلاء HTTPS فقط ، ويجب أن يكون "proxyAddress" عنوان IP. يجب أن يكون الوصول إلى البروكسي مفتوحًا من جميع الإنترنت ، حيث يتواصل العمال معهم بشكل مباشر.
Task object
الخاصية | نوع الخاصية | الأهمية | الوظيفة |
---|---|---|---|
type | String | مطلوبة | AntiGateTask |
websiteURL | String | مطلوبة | عنوان صفحة الويب المستهدفة التي سيتوجه إليها العامل الخاص بنا |
templateName | String | مطلوبة | اسم قالب من قاعدة البيانات الخاصة بنا، يمكنك استخدام قالب موجود بالفعل أو إنشاء قالب خاص بك. يمكنك البحث عن القوالب الموجودة من الجدول التالي. |
variables | Object | مطلوبة | عبارة عن كائن يحتوي على المتغيرات الموجودة في القوالب والقيم الخاصة بها |
domainsOfInterest | Array | غير مطلوبة | قائمة أسماء النطاقات التي يجب أن نجمع بها ملفات تعريف الارتباط وبيانات التخزين المحلية. يمكن أيضًا تحديد هذه القائمة بشكل ثابت عند تحرير القالب. |
proxyAddress | String | غير مطلوبة | عنوان IP البروكسي ipv4 / ipv6. لا توجد أسماء مضيفين أو عناوين IP من الشبكات المحلية. |
proxyPort | Integer | غير مطلوبة | منفذ البروكسي |
proxyLogin | String | غير مطلوبة | تسجيل دخول البروكسي الذي يتطلب التفويض (متطلب أساسي) |
proxyPassword | String | غير مطلوبة | كلمة مرور البروكسي |
مجموعة القوالب
مهمة باستخدام بروكسي
Click "view" button at one of the templates
مهمة بدون استخدام بروكسي
Click "view" button at one of the templates
خطوات إرسال القالب
جهات اتصال المؤلف
مثال على الاستجابة
كود JSON بدون أخطاء
{
"errorId": 0,
"taskId": 7654321
}
خطأ بكود JSON
{
"errorId": 1,
"errorCode": "ERROR_KEY_DOES_NOT_EXIST",
"errorDescription": "Account authorization key not found in the system"
}
الحصول على الحل
استخدم الطريقة getTaskResult لطلب الحل. امنح الموظف بعض الوقت، 5 ثوانٍ مثلًا، قبل تقديم الطلب الأول. إذا كان الموظف لا يزال مشغولاً، فينبغي عليك إعادةالمحاولة خلال 3 ثوانٍ.
حل المهمة
الخاصية | نوع الخاصية | الوظيفة |
---|---|---|
cookies | Object | كائن يحتوي على ملفات ارتباط تم جلبها من آخر صفحة قام العامل بزيارتها |
localStorage | Object | مشابه لملفات الارتباط، وهو عبارة عن كائن يحتوي على قيم التخزين المحلي التي تم استخراجها من أخر صفحة. |
fingerprint | Object | عوامل بصمة المتصفح: ينبغي أن يتم استخدامها مع ملفات الارتباط وخاصية التخزين المحلي من أجل إعادة إنشاء جلسة متصفح للعامل في البرنامج الخاص بك. |
url | String | عنوان صفحة الويب التي تم إنهاء تنفيذ القالب عليها. |
domain | String | اسم نطاق الصفحة الأخيرة |
HTMLsInBase64 | Array | مصفوفة من لقطات HTML لمناطق الصفحة المشفرة في base64. يتم أخذ اللقطات بخطوات "TAKE_HTML_SNAPSHOT_BY_SELECTOR" في قوالب AntiGate. |
screenshots | Array | لقطات مأخوذة من متصفح العامل ، إن وجدت. لطلب لقطات الشاشة ، أضف خطوة TAKE_SCREENSHOT إلى نموذجك. |
requestHeaders | Array | طلب رؤوس من "domainsOfInterest" ، إن وجدت. لطلب رؤوس ، قم بتمكين الخيار "تجميع طلب رؤوس HTTP من المجالات ذات الأهمية" في القالب الخاص بك |
responseHeaders | Array | رؤوس الاستجابة من "domainsOfInterest" ، إن وجدت. لطلب رؤوس ، قم بتمكين الخيار "تجميع رؤوس استجابة HTTP من مجالات الاهتمام" في القالب الخاص بك |
مثال على الاستجابة
كود JSON بدون أخطاء
{
"errorId": 0,
"status": "ready",
"solution": {
"cookies": {
"_ym_uid": "1637841149407895406",
"_ym_d": "1637841149",
"_ym_isad": "2",
"i18n_redirected2": "en"
},
"localStorage": {
"_ym40786994_lsid": "322553582843",
"_ym40786994_reqNum": "3",
"_ym_fip": "\"65aac1083a9e31e5db7fc4a33816f1da-a81f3b9bcdd80a361c14af38dc09b309-a81f3b9bcdd80a361c14af38dc09b309-4bd84c89c35a312599d807af285e7b5f-615e6e8d95ae2de0910b550b0e4dfce2-00b2e6de4e7f2e69dd7de8ef95c7338a-61b9878bbce18de73aafc8582a198c0c-33ad8703f96139d946191563a4c623e6-a81f3b9bcdd80a361c14af38dc09b309-c6d7b47b2dcff33f80cab17f3a360d0b-a95e7098ce4ab7ec9daa7fb4154b8ff4\"",
"_ym_retryReqs": "{}",
"_ym40786994_lastHit": "1637841164076",
"_ym_uid": "\"1637841149407895406\""
},
"fingerprint": {
"self.navigator.userAgent": "Mozilla\/5.0 (Windows NT 6.3; Win64; x64; rv:94.0) Gecko\/20100101 Firefox\/94.0",
"self.screen.width": 1280,
"self.screen.height": 768,
"self.screen.availWidth": 1280,
"self.screen.availHeight": 728,
"self.screen.availLeft": 0,
"self.screen.availTop": 0,
"self.navigator.vendorSub": "",
"self.navigator.productSub": "20100101",
"self.navigator.vendor": "",
"self.navigator.maxTouchPoints": 0,
"self.navigator.hardwareConcurrency": 2,
"self.navigator.cookieEnabled": true,
"self.navigator.appCodeName": "Mozilla",
"self.navigator.appName": "Netscape",
"self.navigator.appVersion": "5.0 (Windows)",
"self.navigator.platform": "Win32",
"self.navigator.product": "Gecko",
"self.navigator.language": "en-US",
"self.navigator.onLine": true,
"self.navigator.doNotTrack": "unspecified"
},
"url": "https:\/\/anti-captcha.com\/tutorials\/success-page?login=some%20login&pass=the%20password",
"domain": "anti-captcha.com",
"domainsOfInterest": {
"any-other-domain.com": {
"cookies": {
"example": "value",
"comment": "This will be available when you fill a list of Domains Of Interest in the template itself or via domainsOfInterest parameter in the task object"
},
"localStorage": {
"example": "localStorage value"
},
"url": "https://any-other-domain.com/some/path",
"domain": "any-other-domain.com"
}
},
"screenshots": [],
"requestHeaders": [],
"responseHeaders": []
},
"cost": "0.00858",
"ip": "5.25.11.114",
"createTime": 1637841143,
"endTime": 1637841189,
"solveCount": 0
}