استخدم خيار الوكيل الأساسي المخصص في open-uri لحساب الوسيط:

require 'open-uri'

body = URI.open(
  'https://example.com/',
  proxy_http_basic_authentication: [
    'http://203.0.113.10:8080',
    ENV.fetch('PROXY_USER'),
    ENV.fetch('PROXY_PASSWORD')
  ],
  open_timeout: 5,
  read_timeout: 10
) { |response| response.read }

استبدل نقطة النهاية الموثقة واحصل على قيم الحساب من مصدر الأسرار المقصود. تجنب وضع كلمة المرور في عنوان URL قد يطبعه لاحقًا استثناء أو تقرير دعم.

خيار OpenReadالغرض
proxy_http_basic_authenticationعنوان الوكيل واسم المستخدم/كلمة المرور الأساسيان الخاصان به.
proxyاختيار الوكيل دون ذلك الخيار الموثق المدمج؛ وتقديم كليهما يثير خطأ في الوسيطات.
http_basic_authenticationحساب خادم الوجهة.
proxy: nilاجعل هذه القراءة مباشرة رغم افتراضيات البيئة.

من دون خيار وكيل صريح، يمكن لـ open-uri استخدام متغيرات بيئة الوكيل الخاصة بالمخطط. الخيار الموثق يتضمن نقطة النهاية بالفعل؛ ولا يحتاج إلى قيمة proxy أخرى.

تتعامل هذه الواجهة مع مصادقة الوكيل الأساسية. الخدمة التي تتطلب آلية أخرى تحتاج إلى عميل متوافق أو تكامل معتمد. أبقِ التحقق من HTTPS مفعّلًا، ثم افحص الحالة/المحتوى حسب الاقتضاء: تسجيل دخول ناجح عبر الوكيل لا يثبت أن الوجهة أعادت المورد المتوقع.

مقالات ذات صلة