قم بتطوير قدراتك، واستخدم cURL مع البروكسيات

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

سيقدم هذا الدليل برنامج cURL ويشرح بعض الطرق المختلفة التي يمكنك من خلالها استخدامه بسلاسة مع الخوادم الوكيلة.

ما هو الوكيل؟

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

يعملالبروكسي السكني على توصيلك بالإنترنت عبر خادم حقيقي آخر (يقع عادةً في موقع مختلف)، مما يجعل الأمر يبدو وكأنك تتصفح الإنترنت من ذلك المكان بدلاً من منزلك.

ما هو cURL؟

إذا لم تكن قد سمعت عن cURL من قبل، فربما تعرفه بأسماء قديمة مثل httpget أو urlget. وقد ظهر هذا البرنامج منذ فترة طويلة، أي منذ عام 1996. وهو أداة مفيدة تتيح لك نقل البيانات من الخوادم البعيدة. يمكنك استخدام cURL مع الخوادم الوكيلة لجلب صفحات الويب، وتنزيل الملفات البعيدة، والقيام بالعديد من الأمور الأخرى دون أن يتم اكتشافك.

ما هو عنوان URL؟

«محدد موقع الموارد الموحد» (Uniform Resource Locator) هو المصطلح الصحيح الذي يصف عنوان الويب مثل https://example.com، على سبيل المثال. (ماذا؟ إنه مثال جيد!)

الجزء الأول من عنوان URL (HTTPS) هو معرّف البروتوكول. أحيانًا يكون البروتوكول هو HTTP، وأحيانًا يكون HTTPS. والفرق بينهما هو أن أحدهما (HTTPS) يستخدم بروتوكولًا آمنًا مع تشفير، بينما الآخر (HTTP) غير مشفر. وهناك العديد من البروتوكولات الأخرى، لكنني سأركز بشكل أساسي على هذين البروتوكولين.

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

الجزء الثاني من عنوان URL (example.com) هو المورد.

وماذا عن الحرف «c» الصغير الموجود أمام عنوان URL؟

وهي اختصار لكلمة «عميل». (وهذا يعني أنت)

اجمع بينهما، وستحصل على cURL. أنت وURL، تعملان معًا على الاتصال بالموارد وتحديد مواقعها. (أمر مثير حقًّا!)

حب الكيرل

ما هي وظيفة cURL؟

يعمل cURL على أنظمة التشغيل لينكس وويندوز وماك، بالإضافة إلى أندرويد وiOS. كما يوفر خيارات لتخصيص ميزاته، مما يجعله أداة مرغوبة للغاية في أوساط مشرفي المواقع.

كما أنه يدعم طرق المصادقة مثل «Basic» و«Digest»، ويمكنه التعامل مع تكوينات بروكسي HTTP على مستوى المستخدم بشكل ممتاز.

يحتوي cURL على العديد من خيارات التكوين التي تتيح لك تحديد الإجراء الذي يجب أن يتخذه عند مواجهة ظروف معينة، مثل رمز خطأ HTTP.

باختصار: إنه يؤدي معظم المهام التي يؤديها المتصفح، لكن كل ذلك في نافذة سوداء صغيرة خالية من الصور وكل تلك العناصر الممتعة.

6 طرق ذكية لاستخدام موجه أوامر Windows | Wired

دليل سريع لتثبيت cURL:

إذا كنت تستخدم نظام التشغيل Mac OS X أو جهازًا من Apple (iOS)، فإن برنامج curl يأتي مثبتًا مسبقًا، لذا يمكنك تخطي هذا الجزء.

في حالة أنظمة ويندوز التي تم تثبيت Cygwin عليها مسبقًا، سيتم التعرف على curl كأمر داخلي، لذا لا داعي لتنزيله. أما إذا كنت من مستخدمي ويندوز ولم تقم بتثبيت Cygwin، فمن المرجح ألا يكون cURL موجودًا في الدليل c:windowssystem32

على سبيل المثال، إذا كنت تستخدم نظام أوبونتو، فسيكون برنامج cURL متاحًا في المستودعات الافتراضية، لذا ما عليك سوى تنفيذ هذا الأمر: sudo apt-get install curl.

الأجزاء الأساسية لسطر أوامر cURL

إذا لم تكن متخصصًا في الفيزياء الفلكية الحاسوبية، فاسمح لي أن أسلط بعض الضوء على بنية سطر الأوامر.

  • البروتوكول – يشير إلى أنظمة الاتصال الشبكي مثل HTTP وHTTPS وSOCKS وغيرها.
  • خادم الوكيل – عنوان خادم الوكيل أو مضيف الوكيل الذي تنوي استخدامه
  • رقم المنفذ – المنفذ الذي ستدخل من خلاله
  • عنوان المورد – صفحة الويب التي تريد استهدافها
  • اسم المستخدم وكلمة المرور – إذا كان عنوان الخادم الوكيل يتطلب المصادقة
  • العلامات – هي خيارات سطر الأوامر التي تُفعّل كل أمر أو تُوقف تشغيله
  • معلمات سطر الأوامر – تتيح لك تمرير معلومات تتعلق بخيار سطر الأوامر (العلامة)

ضعها كلها معًا، وستحصل على شيء مثل هذا:

Curl في سطر الأوامر

كيف يمكن تشغيل cURL باستخدام الخوادم الوكيلة؟

يمكنك إعداد cURL باستخدام أنواع مختلفة من البروكسيات، مثل البروكسيات السكنية، والبروكسيات الخاصة، والبروكسيات المشتركة، وبروكسيات مراكز البيانات.

الطريقة الأكثر شيوعًا لإعداد cURL مع الخوادم الوكيلة هي استخدام أمر الوكيل.

استخدام أوامر الوكيل

الأمر الخاص بالوكيل هو خيار في سطر الأوامر، أو علامة، يؤثر على سلسلة الوكيل (تفاصيل الوكيل + المنفذ + اسم المستخدم + كلمة المرور). ويقتصر هذا التأثير في الغالب على تشغيل الوكيل أو إيقافه.

لكل علامة نسخة قصيرة (-) وأخرى طويلة (–). الأمر يشبه إلى حد ما «الديت» و«الدا» في شفرة مورس.

-x 

هذا هو الخيار المختصر.

هو الخيار الطويل.

كلاهما يؤديان نفس الوظيفة، باستثناء أن -x أكثر كفاءة (وربما أكثر جمالية).

لتوصيل cURL بالبروكسي بشكل صحيح، استخدم العلامة -x أو –proxy متبوعة بالبروتوكول، وخادم البروكسي، ورقم المنفذ، والمورد الذي تريد الوصول إليه.

فيما يلي مثال بسيط يوضح الشكل الذي قد يبدو عليه سطر الأوامر:

-x, --proxy [protocol]://[proxyhost]:[port][resource address]

وإليك شرح أكثر تفصيلاً:

-x, --proxy http://residential.ipb.server:7777 https://google.com

هناك بعض الطرق الأخرى لاستخدام الخادم الوكيل مع cURL.

ستتناول الأقسام التالية نظام المصادقة الأساسي، واستخدام متغيرات البيئة، والاسم المستعار، وملف إعادة التهيئة، والبروتوكولات المختلفة، وتعطيل الخوادم الوكيلة.

cURL باستخدام اسم المستخدم وكلمة المرور

العلامة المستخدمة لتفعيل نظام مصادقة الوكيل هي -u أو –proxy-user. أدخل العلامة واسم المستخدم وكلمة المرور مباشرةً بين سلسلة الوكيل والمورد.

 $ curl -x http://residential.ipb.server:7777 [-u username:password] http://google.com

استخدام اسم مستعار

استخدام اسم مستعار لأمر أو لخادم وكيل يبدو وكأنه تكتيكات سرية للغاية من النوع الذي يستخدمه العملاء الثلاثيون.

الأمر في الواقع بسيط جدًّا.

أنت تقوم فقط بجعل أمر «curl» يساوي أمر «curl» مضافًا إليه تفاصيل الوكيل.

لذا عندما تدخل:

$ curl https//google.com

وهذا يعني في الواقع:

$ curl -x [all your proxy details] https://google.com

كيف تتم هذه السحرية؟ الأمر بسيط (كما قلت):

$ alias curl=curl -x [enter all the proxy details here]

استخدام متغيرات البيئة

ما هي المتغيرات البيئية؟ إذا كنت تفكر في شيء مثل الطرق الزلقة بسبب المطر — فأنت قريب من الإجابة، لكن ليس تمامًا.

الطريق زلق عند البلل

في هذه الحالة، يُعد هذا اختصارًا.

بدلاً من كتابة سلسلة البروكسي في كل مرة، يمكنك ضبط البروكسي بشكل دائم.

تعمل متغيرات البيئة مع جميع أنواع البروتوكولات. كل ما عليك فعله هو تفعيلها عن طريق تعيين المتغير PROTOCOL_PROXY.

http_proxy, HTTPS_PROXY, FTP_PROXY

…وهكذا دواليك لأي تركيبة من البروتوكول ووكيل البروتوكول تختارها. لاحظ أن HTTP هو الوحيد المكتوب بأحرف صغيرة. وقد كان ذلك عن قصد. فهو الوحيد الذي يجب أن يُكتب بأحرف صغيرة، لكنني لن أخوض هنا في الأسباب التقنية وراء ذلك.

يمكنك أيضًا استخدام:

ALL_PROXY

إذا كانت مهامك غير مرتبطة ببروتوكول معين.

على سبيل المثال، دعونا نبتكر سلسلة وكيلة وفقًا لهذا النموذج:

$ curl -x [proxy server]:[port] [username:password] [resource]

(اختلاق الأكاذيب)

$ curl -x  http://180.1.0.0.1222:8080 -u jumpingjack:candlestick https://nimblejack.com

باستخدام خيار الأمر «proxy»، سيكون عليك كتابة هذا الأمر مرارًا وتكرارًا. بدلاً من ذلك، قم بتعيين المتغير باستخدام الأمر «export»، كما يلي:

export http_proxy=http://180.1.0.0.1222:8080 -u jumpingjack:candlestick https://nimblejack.com
or
export WHATEVER OTHER PROTOCOL YOU WANT_PROXY:// [proxy server]:[port] [username:password]

الآن، كل ما عليك إدخاله في سطر الأوامر هو:

$ curl https//nimblejack.com

وها أنت جاهز للانطلاق!

ملاحظة: إذا أردت استخدام وكيل مختلف بعد تعيين متغير بيئة، فإن علامات -x ستتجاوز هذا التعيين.

تغيير ملف rc.file

هنا تستفيد من الطبيعة المتأصلة في cURL لاستخدام إعداداته الافتراضية. عند تحميل البرنامج، سيبحث في %APPDATA% أو %USERPROFILE%Application Data عن ملف إعادة التهيئة.

سيكون اسمه rc.file في أنظمة Mac وLinux، و_curlrc في نظام Windows.

لذا، كل ما عليك فعله هو فتح هذا الملف وتغيير تفاصيل الوكيل:

proxy=http://[proxy details]

cURL مع وكيل SOCKS

يدعم cURL إصداري SOCKS4 وSOCKS5. 

إذا كانت خوادم البروكسي تستخدم بروتوكولات SOCKS، فإن صيغة الكتابة تظل كما هي: -socks4://، أو socks4a://، أو socks5://.

فيما يلي خيارات سطر الأوامر لكل إصدار محدد من SOCKS:

SOCKS4:

$ curl -x socks4://180.1.0.0.1222:8080 http://ipburger.com

SOCKS4A:

$ curl -x socks4a://180.1.0.0.1222:8080 http://ipburger.com/bestresidentialproxies

SOCKS5:

$ curl -x socks5://180.1.0.0.1222:8080 http://ipburger.com/betterthanoxylabsandbrightdata

SOCKS5H:

$ curl -x socks5h://180.1.0.0.1222:8080 http://ipburger.com/decentreadingmaterialtoo

قد تلاحظ أنني لم أذكر رقم المنفذ بعد عنوان IP.

(ربما كنت مشتت الذهن...)

عند استخدام بروتوكول SOCKS، لا تحتاج إلى تضمين رقم المنفذ في عنوان URL لأنه ليس ضروريًا.

فقط لعلمك.

تعطيل الخوادم الوكيلة

نحن نعلم الآن أنه يمكن تكوين cURL مع استخدام بروكسي بعدة طرق مختلفة. وهذا يجعل تشغيل cURL أمرًا سهلاً ويوفر الوقت الذي يستغرقه الكتابة. ومع ذلك، قد تحتاج في بعض الحالات إلى إعادة ضبط إعدادات البروكسي الحالية والاتصال مباشرةً.

يمكن استخدام الخيار –noproxy لتعطيل إعدادات الوكيل الحالية.

$ curl --noproxy http://ipburger.com

بروكسيات cURL الخاصة بـ IP Burger

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

ليس فقط لأن IPBurger يوفر بروكسيات «curl» سكنية مباشرة من الخادم، في غضون ثوانٍ، بل أيضًا لأنك على الأرجح تقوم بشيء رائع. وأنا أفضّل أن تقضي وقتك في القيام بذلك بدلًا من اللعب بالليغو مع البتات المنطقية.

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

وكلاء Ipburger Curl

تتصل جميعها ببروكسيات سكنية تُعد مثالية لجمع البيانات من الويب، أو لأي أنشطة أخرى رائعة تقوم بها.

الأسئلة الشائعة

لماذا لا يستخدم cURL دائمًا نفس الوكيل؟

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

هل يمكنني الجمع بين بروتوكولي HTTP و HTTPS؟ 

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

كيف يمكنني تهيئة cURL لاستخدام بروكسيات مختلفة في آن واحد؟

لا يتضمن cURL خيارًا لمجموعة البروكسيات. فهو يدعم بروكسيًا واحدًا فقط في كل مرة. لاستخدامه مع عدة بروكسيات، يجب عليك تعيينها كخيارات لـ cURL وتمريرها كمعلمة. بعبارة أخرى،

curl -x http://addr1:port1 -u username -p password URL_SCHEME://addr2:port2

إذا كنت تريد أن يعمل cURL مع خادمين وكيلين أو أكثر عبر متغيرات البيئة، فما عليك سوى إضافة إعدادات الخادم الوكيل إلى ملف .bashrc الخاص بك. بعد ذلك، يمكنك الوصول إلى أي خادم وكيل باستخدام cURL عبر ذلك الخادم الوكيل المحدد، وذلك عن طريق كتابة الأمر في المحطة الطرفية دون أي معلمات، بعد تصدير ملف تعريف شل الخاص بك.

هل يجب أن تكون بروكسيات cURL ثابتة؟ 

لا. فبروكسيات cURL هي عناوين IP سكنية وتتغير بشكل متكرر. بعبارة أخرى، يمكن أن تكون ديناميكية. وستعمل عناوين IP السكنية الديناميكية بشكل ملائم مع cURL شريطة أن تكون سريعة بما يكفي لضمان سير الطلبات عبرها بسلاسة.

ما هي استخدامات لغة «curl»؟ 

يمكنك استخدامها بأي طريقة تراها مناسبة. وعادةً ما تكون أداة تعمل عبر سطر الأوامر يمكنك استخدامها لاستخراج البيانات من مواقع الويب أو تنزيل الملفات.

ما نوع الوكلاء الذين أحتاجهم؟

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

للحصول على مزيد من المساعدة بشأن هذه الخيارات، اكتب «man curl» أو «curl -h» في نافذة الأوامر. سيؤدي ذلك إلى عرض صفحة الدليل. (الأمر ليس كما تعتقد.)

في هذا المقال:
توقف عن القلق بشأن جودة الوكيل الخاص بك

نضمن أن بروكسيات ISP الثابتة الخاصة بنا خالية تمامًا من أي مشاكل ومخصصة لك بنسبة 100٪. لا توجد أعباء مشتركة، بل أداء فائق فقط.

الحصول على بروكسيات ثابتة من مزودي خدمة الإنترنت

توقف عن التعرض للحظر. ابدأ في التوسع اليوم.

انضم إلى أكثر من 24,100 شركة تستخدم بروكسيات سكنية وبروكسيات مزودي خدمات الإنترنت (ISP) الأكثر موثوقية لجمع البيانات في الوقت الفعلي على نطاق واسع.

مجموعة عناوين IP تزيد عن 100 مليون
التفعيل الفوري
دعم فني على مدار الساعة طوال أيام الأسبوع