HTTParty tar emot vidarebefordringsproxyn som förfrågningsalternativ. Behåll tjänstens URL som första 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

Proxyvärden och -porten anger mellanhanden. Proxyanvändaren och -lösenordet autentiseras där. Authorization-rubriken tillhör API:et, vars konto kan vara helt annorlunda.

För en proxy utan autentisering utelämnar du http_proxyuser och http_proxypass. För en offentlig API-förfrågan på en tillåten offentlig rutt hämtar du en HTTP-adress från HTTP-proxylistan utan att behålla proxyuppgifter i förfrågan eller i klassens standardvärden. Värd-fältet skickas som proxyadress till Net::HTTP; ange värdnamnet separat från porten, inte en mål-URL eller PAC-URL.

En omslagsklass som inkluderar HTTParty kan i stället använda sin klassmetod http_proxy för att sätta standardvärden. Förfrågningsalternativ åsidosätter dessa standardvärden för anropet som anger dem.

Detta beskriver HTTPartys standardanslutningsadapter. En anpassad connection_adapter ansvarar för att tolka sina alternativ, så granska den adaptern när en giltig inställning verkar ignoreras. Läs HTTP-statusen separat från den tolkade API-datan; lyckad JSON-tolkning är inte ett autentiseringsresultat.

Relaterade artiklar