Използвайте специалната Basic прокси опция на 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 }

Сменете адреса от документацията и вземете стойностите на акаунта от предвидения източник на тайни. Не поставяйте паролата в URL, който по-късно може да бъде отпечатан от изключение или доклад за поддръжка.

Опция OpenReadУпотреба
proxy_http_basic_authenticationАдрес на прокси и неговото Basic потребителско име/парола.
proxyИзбор на прокси без тази комбинирана удостоверена опция; подаването и на двете води до грешка в аргумента.
http_basic_authenticationАкаунт на сървъра на дестинацията.
proxy: nilНаправете това четене директно въпреки настройките по подразбиране на средата.

Без изрична прокси опция open-uri може да използва променливи на средата за прокси, специфични за схемата. Удостоверената опция вече включва своя адрес; не ѝ трябва втора стойност proxy.

Този интерфейс обработва Basic удостоверяване през прокси. Услуга, която изисква друг механизъм, се нуждае от съвместим клиент или одобрена интеграция. Оставете проверката на HTTPS включена, след което прегледайте статуса/съдържанието: работещ вход през прокси не доказва, че дестинацията е върнала очаквания ресурс.

Подобни статии