Gebruik de eigen Basic-proxyoptie van open-uri voor het tussenaccount:

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 }

Vervang het eindpunt uit de documentatie en haal de accountwaarden uit de bedoelde geheime bron. Zet het wachtwoord niet in een URL die later door een uitzondering of supportrapport kan worden afgedrukt.

OpenRead-optieGebruik
proxy_http_basic_authenticationProxyadres en de bijbehorende Basic-gebruikersnaam/wachtwoord.
proxyProxykeuze zonder die gecombineerde geauthenticeerde optie; beide opgeven veroorzaakt een argumentfout.
http_basic_authenticationAccount van de bestemmingsserver.
proxy: nilMaak dit lezen direct ondanks omgevingsstandaarden.

Zonder expliciete proxyoptie kan open-uri schema-specifieke proxy-omgevingsvariabelen gebruiken. De geauthenticeerde optie bevat al het eindpunt; die heeft geen tweede proxy-waarde nodig.

Deze interface verwerkt basisproxy-authenticatie. Een dienst die een ander mechanisme vereist, heeft een compatibele client of goedgekeurde integratie nodig. Laat HTTPS-verificatie aan staan en controleer daarna status/inhoud: een werkende proxylogin bewijst niet dat de bestemming de verwachte bron heeft teruggegeven.

Gerelateerde artikelen