ใช้ตัวเลือก Basic ของพร็อกซีโดยเฉพาะของ 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ที่อยู่พร็อกซีและ ชื่อผู้ใช้/รหัสผ่าน Basic ของพร็อกซีนั้น.
proxyการเลือกพร็อกซีโดยไม่มีตัวเลือกที่ตรวจสอบสิทธิ์แบบรวมนี้ การระบุทั้งสองจะทำให้เกิดข้อผิดพลาดอาร์กิวเมนต์
http_basic_authenticationบัญชีของเซิร์ฟเวอร์ปลายทาง
proxy: nilทำให้การอ่านนี้เป็นแบบตรง แม้มีค่าเริ่มต้นของสภาพแวดล้อม

หากไม่มีตัวเลือกพร็อกซีที่ชัดเจน open-uri อาจใช้ตัวแปรสภาพแวดล้อมพร็อกซีเฉพาะสคีมา ตัวเลือกที่ตรวจสอบสิทธิ์มีปลายทางอยู่แล้ว จึงไม่ต้องใช้ค่า proxy ที่สอง

อินเทอร์เฟซนี้จัดการการตรวจสอบสิทธิ์ Basic ของพร็อกซี บริการที่ต้องใช้กลไกอื่นต้องมีไคลเอนต์ที่เข้ากันได้หรือการผสานรวมที่ได้รับอนุมัติ เปิดการตรวจสอบ HTTPS ไว้ แล้วตรวจสอบสถานะ/เนื้อหาตามความเหมาะสม: การเข้าสู่ระบบพร็อกซีที่ทำงานได้ ไม่ได้พิสูจน์ว่าปลายทางส่งคืนทรัพยากรที่คาดไว้.

บทความที่เกี่ยวข้อง