HTTParty prijíma dopredné proxy ako voľby požiadavky. Ponechajte URL služby ako prvý argument:

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

Hostiteľ a port proxy určujú sprostredkovateľa. Používateľské meno a heslo proxy sa overujú tam. Hlavička Authorization patrí API, ktorého účet môže byť úplne iný.

Pri proxy bez autentifikácie vynechajte http_proxyuser a http_proxypass. Pre verejnú požiadavku API na povolenej verejnej trase vezmite HTTP adresu zo zoznamu HTTP proxy bez ponechania prihlasovacích údajov proxy v požiadavke alebo v predvolených hodnotách triedy. Pole hostiteľa sa odovzdáva ako adresa proxy do Net::HTTP; zadajte názov hostiteľa oddelene od portu, nie cieľovú URL ani URL PAC.

Obalová trieda, ktorá zahŕňa HTTParty, môže namiesto toho použiť svoju triednu metódu http_proxy na nastavenie predvolených hodnôt. Voľby požiadavky prepíšu tieto predvolené hodnoty pre volanie, ktoré ich zadáva.

Toto opisuje predvolený adaptér pripojenia HTTParty. Vlastný connection_adapter je zodpovedný za interpretáciu svojich volieb, preto tento adaptér preskúmajte, keď sa platné nastavenie zdá ignorované. Čítajte stav HTTP oddelene od parsovaných údajov API; úspešné parsovanie JSON nie je výsledkom autentifikácie.

Súvisiace články