Socks5Proxy

دليل اتصال البروكسي: طرق إعداد SOCKS5/HTTP حسب اللغة والأداة

يوفر دليل اتصال Socks5Proxy شرحًا مع أكواد عمل لكيفية ربط بروكسي SOCKS5 وHTTP في 7 أدوات: Python requests، Node.js، cURL، Selenium، Puppeteer، Playwright، Scrapy.

Python requestsلقد أعددنا طريقة توصيل بروكسي HTTP وSOCKS5 (socks5h) في Python requests، مع المصادقة وتدوير القوائم وإعادة المحاولة وإدارة الجلسات، مع أمثلة عملية.Node.jsلقد أعددنا طريقة توصيل بروكسي HTTP عبر ProxyAgent وبروكسي SOCKS5 عبر socks-proxy-agent في Node.js fetch(undici) مع كود لتدوير القوائم.cURLطريقة استخدام cURL مع بروكسي HTTP (-x) وSOCKS5 (--socks5-hostname)، التحقق من الاتصال وقياس وقت الاستجابة.Seleniumشرح طريقة ربط بروكسي HTTP·SOCKS5 بـ Chrome وFirefox في Selenium، سبب استخدام تفويض IP في Chrome وإعداده، وتشغيل متصفحات متعددة بالتوازي.Puppeteerلقد أعددنا طريقة توصيل بروكسي HTTP وSOCKS5 باستخدام --proxy-server في Puppeteer وتمرير اسم المستخدم وكلمة المرور عبر page.authenticate، مع فصل عناوين IP حسب المتصفح.Playwrightلقد أعددنا طريقة توصيل بروكسي HTTP وSOCKS5 باستخدام خيار proxy في Playwright، وطريقة استخدام عناوين IP مختلفة لكل سياق، مع أمثلة لـ Python وNode.js.Scrapyشرح طريقة ربط البروكسي في Scrapy باستخدام HttpProxyMiddleware وmeta proxy، وmiddleware التنزيل لتدوير IPs لكل طلب، وإعدادات السرعة.

ما هي المعلومات المطلوبة لاتصال البروكسي؟

يحتوي سطر البروكسي على عنوان IP، منفذ HTTP، منفذ SOCKS5، اسم المستخدم، كلمة المرور. يمكنك عرض القائمة في شاشة "بروكسياتي" في لوحة التحكم أو تنزيلها بالصيغة المطلوبة، كما يمكنك الحصول على نفس القائمة عبر API.

تستخدم جميع الأمثلة في هذا الدليل العنوان IP 198.51.100.23، ومنفذ HTTP 8000، ومنفذ SOCKS5 1080، واسم المستخدم spx_user، وكلمة المرور spx_pass. نطاق 198.51.100.0/24 محجوز للتوثيق ولا يمكن الاتصال به فعليًا، لذا استبدله بقيم من قائمة البروكسي الخاصة بك.

هناك طريقتان للمصادقة: إرسال اسم المستخدم وكلمة المرور معًا، أو تسجيل ما يصل إلى 10 عناوين IPv4 لخادمك في لوحة التحكم للوصول باستخدام ip:port فقط بدون كلمة مرور (مصادقة IP). هذه الطريقة ملائمة للأدوات التي لا تقبل كلمة المرور (مثل معلمات تشغيل Chrome).

عنصرقيمة مثالشرح
IP198.51.100.23عنوان خادم البروكسي
منفذ HTTP8000اتصال HTTP و HTTPS(CONNECT)
منفذ SOCKS51080اتصال SOCKS5 TCP
اسم المستخدمspx_userالمصادقة باسم المستخدم وكلمة المرور
كلمة المرورspx_passالمصادقة باسم المستخدم وكلمة المرور

بماذا تتصل، HTTP أم SOCKS5؟

معظم مهام طلبات صفحات الويب وAPI تكفيها منفذ HTTP. يتم نقل عناوين HTTPS أيضًا بشكل مشفر بطريقة CONNECT بحيث لا يغير البروكسي المحتوى.

SOCKS5 ينقل اتصالات TCP غير HTTP ويمكنه أيضًا حل أسماء النطاقات من جهة البروكسي. باستخدام socks5h في Python أو --socks5-hostname في cURL، لن تظهر طلبات DNS من خادمك للخارج. كل IP يحتوي على كلا المنفذين، لذا اختر الطريقة التي يدعمها أداتك.

كيف يمكنني الحصول على القائمة واستخدامها عبر الكود؟

يتم إنشاء مفتاح API في شاشة مفاتيح API في لوحة التحكم، ويظهر مرة واحدة فقط، لذا احفظه في مكان آمن. أضف المفتاح في رأس Authorization: Bearer في كل طلب. الكود التالي هو مثال لاستلام قائمة SOCKS5 بتنسيق user:pass@ip:port باستخدام Python. توضح الأدلة كيفية توصيل هذه القائمة بالأدوات.

import requests

API = "https://socks5proxy.io/api/v1"
KEY = "YOUR_API_KEY"

# Download the proxy list as plain text, one proxy per line
r = requests.get(
    API + "/proxies/download",
    params={"format": "user:pass@ip:port", "protocol": "socks5"},
    headers={"Authorization": "Bearer " + KEY},
    timeout=30,
)
r.raise_for_status()
proxies = [line.strip() for line in r.text.splitlines() if line.strip()]
print(len(proxies), "proxies loaded")

ما هو الدليل الذي يجب أن أبدأ به؟

اختر الدليل المناسب للغة والأداة التي تستخدمها. كل الأدلة تتضمن طرق التحقق من الاتصال، وما يجب فحصه عند حدوث خطأ، وكيفية توزيع IP.

  • Python requests: أبسط توصيلات HTTP وSOCKS5 مع تدوير القوائم
  • Node.js: undici ProxyAgent (HTTP) و socks-proxy-agent (SOCKS5)
  • cURL: التحقق من الاتصال وقياس وقت الاستجابة من سطر الأوامر
  • Selenium: Chrome وتفويض IP، إعداد Firefox
  • Puppeteer: --proxy-server و page.authenticate
  • Playwright: بروكسي لكل متصفح وسياق
  • Scrapy: meta proxy وmiddleware الدوري لكل طلب

ما هو التنسيق الذي يجب اختياره؟

نظرًا لأن كل أداة تتلقى تنسيقًا مختلفًا، يمكنك اختيار التنسيق عند تنزيل القائمة. تتلقى معظم المكتبات تنسيق العنوان (http://user:pass@ip:port أو socks5://user:pass@ip:port) كما هو. بالنسبة للبرامج التي تقسم حقول الإعداد إلى IP ومنفذ واسم مستخدم وكلمة مرور، فإن استخدام تنسيق ip:port:user:pass يجعل من السهل تقسيم السطر وإدخاله.

إذا كنت تستخدم تفويض IP، يمكنك اختيار تنسيق ip:port. عند اللصق في برامج الجداول أو المستندات الإدارية، يكون تنسيق CSV أكثر ملاءمة. يمكنك تنزيل نفس القائمة بشكل منفصل لـ HTTP و SOCKS5، مع اختلاف المنافذ فقط.

التنسيقمثالالأماكن المناسبة
ip:port:user:pass198.51.100.23:8000:spx_user:spx_passصفحة إعدادات مقسمة إلى أقسام
user:pass@ip:portspx_user:spx_pass@198.51.100.23:8000تجميع العنوان في التعليمات البرمجية
http://user:pass@ip:porthttp://spx_user:spx_pass@198.51.100.23:8000requests, cURL, Scrapy
socks5://user:pass@ip:portsocks5://spx_user:spx_pass@198.51.100.23:1080مكتبة SOCKS5
ip:port198.51.100.23:8000تفويض IP، معلمات تشغيل المتصفح
CSVip,http_port,socks_port,user,pass,countryجداول الحساب والمستندات الإدارية

كيف يمكن تخزين معلومات البروكسي بأمان؟

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

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

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

ما الذي يجب التحقق منه عند فشل الاتصال؟

اختبر أولاً باستخدام cURL للتأكد من استجابة البروكسي نفسه. يشير الرد 407 إلى أن اسم المستخدم أو كلمة المرور غير صحيحة، وإذا كنت تستخدم المصادقة عبر IP، تأكد من أن IP الخادم الذي يرسل الطلب مدرج في القائمة المسجلة. إذا انتهت مهلة الاتصال، يرجى التحقق من المنفذ مرة أخرى (مثل HTTP 8000، SOCKS5 1080 حيث تختلف القيم في كل سطر).

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

دليل اتصال البروكسي: إعدادات Python وNode.js وSelenium | Socks5Proxy