HTTParty алдыңғы проксиді сұраныс параметрлері ретінде қабылдайды. Қызмет URL мекенжайын бірінші дәлел ретінде қалдырыңыз:

response = HTTParty.get(
  'https://api.example/items',
  http_proxyaddr: 'proxy.example',
  http_proxyport: 8080,
  http_proxyuser: ENV.fetch('PROXY_USER'),
  http_proxypass: ENV.fetch('PROXY_PASSWORD'),
  headers: { 'Authorization' => "Bearer #{ENV.fetch('API_TOKEN')}" },
  open_timeout: 5,
  read_timeout: 15
)
puts response.code

Прокси хост пен порт делдалды көрсетеді. Прокси пайдаланушы аты мен құпия сөзі сол жерде аутентификацияланады. Authorization тақырыпшасы API-ге тиесілі, оның тіркелгісі мүлдем басқа болуы мүмкін.

Аутентификациясыз прокси үшін http_proxyuser мен http_proxypass өткізіп жіберіңіз. Рұқсат етілген жалпыға ортақ маршруттағы жалпыға ортақ API сұранысы үшін HTTP прокси тізімінен HTTP мекенжайын алыңыз, прокси тіркелгі деректерін сұраныста да, сыныптың әдепкі мәндерінде де қалдырмаңыз. Хост өрісі прокси мекенжайы ретінде Net::HTTP-ке беріледі; хост атын портынан бөлек беріңіз, мақсатты URL немесе PAC URL емес.

HTTParty кіретін қаптаушы сынып оның орнына әдепкі мәндерді орнату үшін http_proxy сынып әдісін қолдана алады. Сұраныс параметрлері осы әдепкі мәндерден соларды беретін шақыру үшін басым болады.

Бұл HTTParty-дің әдепкі қосылым адаптерін сипаттайды. Арнайы connection_adapter өз параметрлерін түсіндіруге жауапты, сондықтан жарамды параметр еленбегендей көрінсе, сол адаптерді тексеріңіз. HTTP күйін талданған API деректерінен бөлек оқыңыз; JSON-ды сәтті талдау аутентификация нәтижесі емес.

Қатысты мақалалар