الانتقال إلى المحتوى الرئيسي
في ظل تصاعد الصراع بين الزواحف ومكافحة الزواحف، تزداد قوة أنظمة الكشف عن المخاطر في المواقع الكبرى وتطبيقات الهواتف، ومن بين هذه الأنظمة حظر IP. لحل مشكلة حظر IP، تعتبر إعدادات الوكيل وسيلة فعالة، حيث يمكن للزواحف استخدام IP الوكيل لتخفي خلف عنوان IP الحقيقي الخاص بها، وبالتالي تجاوز قيود مكافحة الزواحف. لكن جودة الوكيل تختلف، فمثلاً الوكلاء المجانيون المتاحون في السوق، فإن الغالبية العظمى منهم غير قابلة للاستخدام أو محظورة، بينما بعض الوكلاء المدفوعين العاديين تم إدراجهم أيضاً في القوائم السوداء لمواقع وتطبيقات عديدة. لذلك، فإن الوكلاء القابلين للاستخدام لجمع البيانات عالية الجودة أصبحوا أقل بكثير، والأنواع الرئيسية من الوكلاء عالية الجودة المتاحة حالياً تشمل الوكلاء المخصصين، ووكلاء ADSL، ووكلاء الشبكات الخلوية المتنقلة. تستند هذه الخدمة إلى خدمة وكيل دوار مبنية على ADSL، وستتناول هذه الوثيقة كيفية التقديم واستخدام هذه الخدمة.

مقدمة عن وكيل ADSL

ADSL، الاسم الكامل باللغة الإنجليزية هو Asymmetric Digital Subscriber Line، أي خط المشترك الرقمي غير المتماثل. يتصل ADSL بالإنترنت عبر الاتصال الهاتفي، حيث يتطلب إدخال اسم مستخدم وكلمة مرور ADSL، ويتم تغيير IP في كل مرة يتم فيها الاتصال. تتوزع IP على عدة نطاقات A، وإذا كانت جميع IP قابلة للاستخدام، فهذا يعني أن كمية IP يمكن أن تصل إلى الملايين. تتمتع الوكلاء المبنية على ADSL بمزايا مقارنة بالوكلاء العاديين المبنية في مراكز البيانات: أولاً، فإن الخطوط تتكون أساساً من خطوط المحمول، والاتصالات، والتليفون، مما يجعلها أقرب إلى خطوط الإنترنت اليومية للسكان، وبالتالي فإن احتمال حظر IP سيكون أقل. ثانياً، فإن كمية IP كبيرة، وكلما زادت كمية IP، قل احتمال حظر كل IP. تستند هذه الخدمة إلى مجموعة كبيرة من وكيل ADSL، تغطي بشكل رئيسي خطوط الصين، وتأتي الخطوط بشكل رئيسي من خوادم VPS التي تستخدم الاتصال الهاتفي من المحمول، والاتصالات، والتليفون، وتغطي أكثر من 100 مدينة في الصين، مع حوالي 300,000 IP يومياً. تدعم جميع طلبات البيانات تقريباً من جميع المواقع والتطبيقات في السوق، وجودة الوكيل عالية، مما يقلل بشكل كبير من احتمال الكشف عن المخاطر.

طريقة التقديم

لاستخدام خدمة ADSL، يمكنك أولاً الذهاب إلى 「صفحة التقديم」 لتقديم الطلب، حيث يوجد رصيد مجاني قدره 1 نقطة للتقديم الأول، حوالي 17.5 ميغابايت. إذا لم تكن قد قمت بتسجيل الدخول بعد، فسيتم تحويلك تلقائياً إلى صفحة تسجيل الدخول، وبعد تسجيل الدخول يمكنك متابعة التقديم. بعد الانتهاء من التقديم، يمكنك الذهاب إلى 「لوحة التحكم」 لرؤية نتائج طلبك، كما هو موضح في الصورة: انقر على 「Credentials」، لرؤية اسم المستخدم وكلمة المرور لاستخدام خدمة وكيل ADSL، مفصولة بعلامة النقطتين، حيث يكون اسم المستخدم مكوناً من 8 أحرف، وكلمة المرور مكونة من 32 حرفاً، كما هو موضح في الصورة: هذا الوكيل ADSL هو نوع من الوكلاء الدوارة، لذا عند الاستخدام، تحتاج فقط إلى إعداد عنوان وكيل ثابت ورقم منفذ، حيث أن عنوان الوكيل ورقم المنفذ هما adsl.proxy.acedata.cloud و 30005، وهو وكيل بروتوكول HTTP/HTTPS/SOCKS، ويمكن استخدامه للوصول إلى المواقع التي تستخدم بروتوكول HTTP و HTTPS.

اختبار الأوامر

بعد الحصول على اسم المستخدم وكلمة المرور للوكيل، فإن أسهل طريقة هي استخدام أمر curl لاختبار ذلك، وإذا لم يكن مثبتاً، يرجى الرجوع إلى https://curl.se/ للتثبيت. إذا كانت اسم المستخدم وكلمة المرور الحالية للوكيل هي 1f78266a:eff0896726224fa2a99fe82dd1f07562، يمكننا استخدام أمر curl التالي للاختبار:
curl -x 1f78266a:eff0896726224fa2a99fe82dd1f07562@adsl.proxy.acedata.cloud:30005 https://ipinfo.io
هنا نستخدم معامل -x في curl لتحديد عنوان الوكيل، وبروتوكول الوكيل هو HTTP/HTTPS بشكل افتراضي، والرابط المطلوب هو https://ipinfo.io، حيث يمكن لهذا الموقع إرجاع عنوان IP الحقيقي للمستخدم والموقع الجغرافي للـ IP. نتيجة التشغيل كما يلي:
{
  "ip": "183.210.224.227",
  "city": "Jinrongjie",
  "region": "Beijing",
  "country": "CN",
  "loc": "39.9122,116.3561",
  "org": "AS56046 China Mobile communications corporation",
  "postal": "101100",
  "timezone": "Asia/Shanghai",
  "readme": "https://ipinfo.io/missingauth"
}

تكامل الكود

فيما يلي مثال بلغة Python يوضح كيفية إعداد هذا الوكيل:
import requests

proxy = 'https://{proxy_username}:{proxy_password}@adsl.proxy.acedata.cloud:30005'

proxies = {
    'http': proxy,
    'https': proxy
}

for _ in range(3):
    resp = requests.get('https://ipinfo.io', proxies=proxies)
    print(resp.text)

هنا نعلن أولاً عن عنوان URL للوكيل ونعرفه كمتغير proxy، والبروتوكول هو بروتوكول http، يتبعه اسم المستخدم وكلمة المرور للوكيل (أي الأسماء المعروضة في لوحة التحكم، مفصولة بعلامة النقطتين)، ثم يتبعها علامة @، ثم عنوان الوكيل ورقم المنفذ. بعد ذلك، نعلن عن متغير proxies، ونقوم بتكوين زوجين من المفاتيح، حيث تكون أسماء المفاتيح هي http و https، وقيمها هي proxy، مما يعني أنه بالنسبة لمواقع بروتوكول HTTP و HTTPS، يتم استخدام الوكيل المحدد في متغير proxy لإجراء الطلبات. ثم نحدد حلقة ثلاث مرات لاختبار الوكيل، حيث يكون الرابط المطلوب هو https://ipinfo.io، حيث يمكن لهذا الموقع إرجاع عنوان IP الحقيقي للمستخدم والموقع الجغرافي للـ IP. نتيجة التشغيل كما يلي:
{
  "ip": "211.93.135.114",
  "city": "شنغهاي",
  "region": "شنغهاي",
  "country": "CN",
  "loc": "31.2222,121.4581",
  "org": "AS4837 CHINA UNICOM China169 Backbone",
  "postal": "200000",
  "timezone": "آسيا/شنغهاي",
  "readme": "https://ipinfo.io/missingauth"
}
{
  "ip": "112.22.109.176",
  "city": "نانجينغ",
  "region": "جيانغسو",
  "country": "CN",
  "loc": "32.0617,118.7778",
  "org": "AS56046 China Mobile communications corporation",
  "postal": "210000",
  "timezone": "آسيا/شنغهاي",
  "readme": "https://ipinfo.io/missingauth"
}
{
  "ip": "39.162.179.215",
  "city": "يانغتشو",
  "region": "جيانغسو",
  "country": "CN",
  "loc": "32.3972,119.4358",
  "org": "AS24445 Henan Mobile Communications Co.,Ltd",
  "postal": "225000",
  "timezone": "آسيا/شنغهاي",
  "readme": "https://ipinfo.io/missingauth"
}
يمكنك أن ترى أن كل مرة يتم فيها تشغيل النتيجة، يتم الحصول على IP وكيل عشوائي، وأن المنطقة التي يقع فيها IP هي بالفعل من مقاطعات ومدن مختلفة في الصين. بالطبع، طريقة إعداد الوكيل المذكورة أعلاه هي في الواقع طريقة إعداد بسيطة نسبيًا. في الواقع، الكود أعلاه يعادل إعداد رأس إضافي - Proxy Authorization عند الطلب، لذا يمكن إعادة كتابة الكود أعلاه كما يلي:
import requests
import base64

proxy_host = 'adsl.proxy.acedata.cloud'
proxy_port = '30005'
proxy_username = '{proxy_username}' # اسم مستخدم مكون من 8 أحرف
proxy_password = '{proxy_password}' # كلمة مرور مكونة من 32 حرف

credentials = base64.b64encode(
    f'{proxy_username}:{proxy_password}'.encode()).decode()

proxies = {
    'http': f'http://{proxy_host}:{proxy_port}',
    'https': f'http://{proxy_host}:{proxy_port}'
}

headers = {
    'Proxy-Authorization': f'Basic {credentials}'
}

for _ in range(3):
    resp = requests.get('https://ipinfo.io',
                        proxies=proxies, headers=headers)
    print(resp.text)

يمكنك أن ترى هنا أننا قمنا بإعداد اسم المستخدم وكلمة المرور للوكيل من خلال رأس الطلب Proxy-Authorization (يحتاج إلى ترميز Base64)، ونتيجة تشغيل هذا الكود هي نفسها. بالنسبة للغات الأخرى، مثل axios في JavaScript، يمكن أيضًا استخدام طريقة إعداد مشابهة:
const axios = require("axios");
const base64 = require("base64");

const proxy_host = "adsl.proxy.acedata.cloud";
const proxy_port = "30005";
const proxy_username = "{proxy_username}"; // اسم مستخدم مكون من 8 أحرف
const proxy_password = "{proxy_password}"; // كلمة مرور مكونة من 32 حرف

const credentials = base64.encode(`${proxy_username}:${proxy_password}`);

const proxies = {
  http: `http://${proxy_host}:${proxy_port}`,
  https: `http://${proxy_host}:${proxy_port}`,
};

const headers = {
  "Proxy-Authorization": `Basic ${credentials}`,
};

for (let i = 0; i < 3; i++) {
  axios
    .get("https://ipinfo.io", { proxies, headers })
    .then((resp) => console.log(resp.data))
    .catch((err) => console.error(err));
}
نتيجة التشغيل هي نفسها. بالنسبة لطرق الإعداد في لغات أخرى، يرجى الرجوع إلى النص أعلاه وإعادة كتابته بنفسك.

شراء المزيد

إذا كانت باقتك قد نفدت، ستحتاج إلى شراء المزيد للاستمرار في استخدام خدمة الوكيل هذه. لشراء المزيد، يرجى الذهاب إلى 「صفحة الطلب」 والنقر مباشرة على زر 「شراء المزيد」 لاختيار الشراء، كلما زادت الكمية المشتراة، كان السعر أقل.