Dla konta pośredniczącego użyj dedykowanej opcji Basic proxy w open-uri:

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 }

Zastąp punkt końcowy z dokumentacji i pobierz wartości konta z zamierzonego źródła sekretów. Nie umieszczaj hasła w adresie URL, który później może wydrukować wyjątek lub raport pomocy technicznej.

Opcja OpenReadZastosowanie
proxy_http_basic_authenticationAdres proxy i jego podstawowa nazwa użytkownika/hasło.
proxyWybór proxy bez tej połączonej uwierzytelnionej opcji; podanie obu powoduje błąd argumentu.
http_basic_authenticationKonto serwera docelowego.
proxy: nilUczyń to odczytanie bezpośrednim mimo domyślnych ustawień środowiska.

Bez jawnej opcji proxy open-uri może używać zmiennych środowiskowych proxy właściwych dla schematu. Uwierzytelniona opcja zawiera już swój punkt końcowy; nie potrzebuje drugiej wartości proxy.

Ten interfejs obsługuje podstawowe uwierzytelnianie proxy. Usługa wymagająca innego mechanizmu potrzebuje zgodnego klienta lub zatwierdzonej integracji. Pozostaw włączoną weryfikację HTTPS, a następnie sprawdź status/zawartość: działające logowanie przez proxy nie dowodzi, że cel zwrócił oczekiwany zasób.

Powiązane artykuły