Ruby open-uri: наладзіць базавую аўтэнтыфікацыю праз проксі
Выкарыстоўвайце асобную опцыю аўтэнтыфікацыі проксі ў open-uri, не змешваючы яе з дадзенымі прызначэння або прадвызначэннямі асяроддзя.
Выкарыстоўвайце спецыяльную базавую опцыю проксі 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 | Адрас проксі і яго базавыя імя карыстальніка/пароль. |
proxy | Выбар проксі без гэтай сумяшчанай аўтэнтыфікаванай опцыі; калі падаць абодва, узнікне памылка аргумента. |
http_basic_authentication | Уліковы запіс сервера прызначэння. |
proxy: nil | Зрабіце гэтае чытанне прамым нягледзячы на прадвызначэнні асяроддзя. |
Без яўнай опцыі проксі open-uri можа выкарыстоўваць зменныя асяроддзя проксі для канкрэтнай схемы. Аўтэнтыфікаваная опцыя ўжо ўтрымлівае свой адрас; ёй не патрэбна другое значэнне proxy.
Гэты інтэрфейс апрацоўвае базавую аўтэнтыфікацыю проксі. Сэрвіс, які патрабуе іншы механізм, мае патрэбу ў сумяшчальным кліенце або ўзгодненай інтэграцыі. Пакіньце праверку HTTPS уключанай, затым праверце статус/змест: працоўны ўваход праз проксі не даказвае, што прызначэнне вярнула чаканы рэсурс.