Använd open-uris särskilda Basic-proxyalternativ för mellankontot:

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 }

Byt ut dokumentationens slutpunkt och hämta kontovärdena från den avsedda hemlighetskällan. Lägg inte lösenordet i en URL som ett undantag eller en supportrapport senare kan skriva ut.

OpenRead-alternativAnvändning
proxy_http_basic_authenticationProxyadress och dess Basic-användarnamn/lösenord.
proxyProxyval utan det kombinerade autentiserade alternativet; anges båda uppstår ett argumentfel.
http_basic_authenticationKonto på målservern.
proxy: nilGör denna läsning direkt trots miljöstandarder.

Utan ett uttryckligt proxyalternativ kan open-uri använda schemaspecifika proxy-miljövariabler. Det autentiserade alternativet innehåller redan sin slutpunkt; det behöver inget andra proxy-värde.

Detta gränssnitt hanterar grundläggande proxy-autentisering. En tjänst som kräver en annan mekanism behöver en kompatibel klient eller en godkänd integration. Håll HTTPS-verifieringen på och granska sedan status/innehåll: en fungerande proxyinloggning bevisar inte att målet returnerade den förväntade resursen.

Relaterade artiklar