Tarpiniam abonementui naudokite atskirą open-uri pagrindinę proxy parinktį:

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 }

Pakeiskite dokumentacijoje nurodytą galinį tašką, o abonemento reikšmes imkite iš numatyto slaptųjų duomenų šaltinio. Nedėkite slaptažodžio į URL, kurį vėliau gali atspausdinti išimtis arba palaikymo ataskaita.

OpenRead parinktisPaskirtis
proxy_http_basic_authenticationProxy adresas ir jo pagrindinis vartotojo vardas/slaptažodis.
proxyProxy pasirinkimas be šios sujungtos autentifikuotos parinkties; pateikus abi, įvyksta argumento klaida.
http_basic_authenticationPaskirties serverio abonementas.
proxy: nilPadarykite šį skaitymą tiesioginį nepaisant aplinkos numatytųjų reikšmių.

Be aiškios proxy parinkties open-uri gali naudoti schemai būdingus proxy aplinkos kintamuosius. Autentifikuota parinktis jau turi savo galinį tašką; jai nereikia antros proxy reikšmės.

Ši sąsaja apdoroja pagrindinę proxy autentifikaciją. Paslaugai, kuriai reikia kito mechanizmo, reikalingas suderinamas klientas arba patvirtinta integracija. Palikite HTTPS tikrinimą įjungtą, tada patikrinkite būseną/turinį: veikiantis prisijungimas per proxy neįrodo, kad paskirties serveris grąžino lauktą išteklių.

Susiję straipsniai