استخدم الوكيل الذي حل المهمة فعليًا

بقلم solvethreeمدة القراءة: 2 دقيقة

عند إرسال proxyCandidates، استخدم solution.egressAttempts لمعرفة الوكيل الذي حل المهمة. إنه فهرس يبدأ من 1 في قائمة المرشحين الأصلية. استخدم ذلك الوكيل عند إرسال الحل إلى الموقع المستهدف، وليس وكيلاً آخر من القائمة.

في هذه الصفحة

احتفظ بقائمة المرشحين الأصلية

قدّم واحدًا فقط من proxy أو proxyCandidates. تقبل قائمة المرشحين ما يصل إلى اثني عشر عنوان URL مميزًا لوكلاء HTTP أو HTTPS، دون مسار أو استعلام أو جزء محدد. احتفظ بالطلب الأصلي وترتيب المرشحين حتى تحدد الوكيل الناجح؛ ففرز القائمة أو تصفيتها لاحقًا يغيّر العنصر الذي يشير إليه الفهرس.

تتيح قائمة المرشحين لـ solvethree تجربة مسارات خروج بديلة؛ لكنها لا تضمن عمل الوكيل أو الوجهة. تتطلب مهام الجلسات وكيلاً واحدًا في proxy، وليس قائمة مرشحين.

تحقق من صحة الفهرس قبل تحديد الوكيل

بالنسبة إلى reCAPTCHA وKasada وTMPT، يحدد solution.egressAttempts المرشح الناجح. لا تقبله إلا إذا كان عددًا صحيحًا من 1 إلى طول المصفوفة الأصلية. اطرح واحدًا عند استخدامه للفهرسة في مصفوفة JavaScript أو قائمة Python.

نتيجة توضيحية: تعيد مهمة جاهزة قيمة egressAttempts تساوي 2.
نتيجة توضيحية: تعيد مهمة جاهزة قيمة egressAttempts تساوي 2.
الموضع الأصليالمرشحمحدد
1PROXY_Aلا
2PROXY_Bنعم
3PROXY_Cلا

هنا، الوكيل الناجح هو الثاني، PROXY_B، عند إزاحة المصفوفة 1. إذا كان الفهرس مفقودًا أو كسريًا أو صفرًا أو خارج حدود القائمة، فتوقف. لا تستخدم الوكيل الأول بدلاً منه، ولا تستنتج الوكيل الناجح من ترتيب القائمة.

استخدم الدالة المساعدة في SDK، ثم أعد استخدام الوكيل المحدد

مرر المهمة الأصلية والنتيجة الجاهزة إلى successfulProxy في JavaScript أو successful_proxy في Python. تستدعي الأمثلة solve لإنشاء المهمة والاستطلاع حتى تصبح جاهزة أو يُطرح خطأ، ثم تتوقف إذا لم تُعد الدالة المساعدة وكيلاً.

اضبط SOLVETHREE_API_KEY ومتغيرات البيئة الثلاثة الخاصة بالوكلاء على خادمك. يجب أن يحتوي كل متغير وكيل على عنوان URL صالح ومميز لوكيل. استبدل موقع المثال والإجراء بالوجهة والإجراء المقصودين. تتطلب الأمثلة Node.js 22+ أو Python 3.10+.

Node.js · اختيار الوكيل الناجح
import { Solvethree, successfulProxy } from '@solvethree/sdk';

const client = new Solvethree({ apiKey: process.env.SOLVETHREE_API_KEY });
const request = {
  site: 'accounts.example.com', action: 'login',
  proxyCandidates: [process.env.PROXY_A, process.env.PROXY_B, process.env.PROXY_C],
};
const result = await client.solve(request);
const proxy = successfulProxy(request, result);
if (!proxy) throw new Error('No valid winning proxy index; do not guess');
// For egressAttempts: 2, proxy is request.proxyCandidates[1].
// Submit result.solution through this proxy with its returned browser identity.

احتفظ بالوكيل المحدد مع قيمتَي userAgent وsecChUa المُعادتين والوجهة المقصودة، واستخدم تلك الهوية لطلب الوجهة. تحدد SDK الوكيل؛ لكنها لا تضبط متصفحك ولا ترسل الحل نيابةً عنك. لا تُعد النتيجة الجاهزة دليلاً على قبول الموقع المستهدف لها.

شغّل مهمتك الأولى.

ابدأ برصيد قدره $5 في مساحة العمل.

إنشاء مساحة عمل
استخدم الوكيل الذي حل المهمة فعليًا · solvethree