Use la opción básica de proxy específica de open-uri para la cuenta intermediaria:

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 }

Sustituya el punto de conexión de la documentación y obtenga los valores de la cuenta desde la fuente de secretos prevista. No coloque la contraseña en una URL que luego pueda imprimir una excepción o un informe de soporte.

Opción OpenReadUso
proxy_http_basic_authenticationDirección del proxy y su usuario/contraseña básicos.
proxySelección de proxy sin esa opción autenticada combinada; proporcionar ambas provoca un error de argumento.
http_basic_authenticationCuenta del servidor de destino.
proxy: nilHaga que esta lectura sea directa pese a los valores predeterminados del entorno.

Sin una opción de proxy explícita, open-uri puede usar variables de entorno de proxy específicas del esquema. La opción autenticada ya incluye su punto de conexión; no necesita un segundo valor proxy.

Esta interfaz gestiona la autenticación básica del proxy. Un servicio que requiera otro mecanismo necesita un cliente compatible o una integración aprobada. Mantenga activada la verificación HTTPS y luego revise el estado/contenido: un inicio de sesión de proxy que funciona no demuestra que el destino devolviera el recurso esperado.

Artículos relacionados