Gunakan opsi Basic proxy khusus open-uri untuk akun perantara:

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 }

Ganti endpoint dokumentasi dan ambil nilai akun dari sumber rahasia yang dimaksud. Jangan menaruh kata sandi di URL yang nantinya dapat dicetak oleh pengecualian atau laporan dukungan.

Opsi OpenReadKegunaan
proxy_http_basic_authenticationAlamat proxy dan nama pengguna/kata sandi Basic-nya.
proxyPemilihan proxy tanpa opsi terautentikasi gabungan itu; memberikan keduanya memicu kesalahan argumen.
http_basic_authenticationAkun server tujuan.
proxy: nilBuat pembacaan ini langsung meskipun ada nilai default lingkungan.

Tanpa opsi proxy eksplisit, open-uri dapat memakai variabel lingkungan proxy khusus skema. Opsi terautentikasi sudah menyertakan endpoint-nya; opsi itu tidak perlu nilai proxy kedua.

Antarmuka ini menangani autentikasi Basic proxy. Layanan yang memerlukan mekanisme lain butuh klien yang kompatibel atau integrasi yang disetujui. Biarkan verifikasi HTTPS aktif, lalu periksa status/konten sebagaimana mestinya: login proxy yang berhasil tidak membuktikan bahwa tujuan mengembalikan sumber daya yang diharapkan.

Artikel terkait