Usa l'opzione Basic dedicata al proxy di open-uri per l'account intermedio:

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 }

Sostituisci l'endpoint della documentazione e ottieni i valori dell'account dalla fonte di segreti prevista. Non inserire la password in un URL che in seguito un'eccezione o un report di supporto potrebbe stampare.

Opzione OpenReadUso
proxy_http_basic_authenticationIndirizzo del proxy e il suo nome utente/password Basic.
proxySelezione del proxy senza quella opzione autenticata combinata; fornire entrambe genera un errore di argomento.
http_basic_authenticationAccount del server di destinazione.
proxy: nilRendi questa lettura diretta nonostante i valori predefiniti dell'ambiente.

Senza un'opzione proxy esplicita, open-uri può usare variabili d'ambiente del proxy specifiche dello schema. L'opzione autenticata include già il suo endpoint; non serve un secondo valore proxy.

Questa interfaccia gestisce l'autenticazione Basic del proxy. Un servizio che richiede un altro meccanismo necessita di un client compatibile o di un'integrazione approvata. Lascia attiva la verifica HTTPS, poi controlla stato/contenuto: un accesso proxy funzionante non dimostra che la destinazione abbia restituito la risorsa attesa.

Articoli correlati