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 не е резултат от удостоверяване.

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