HTTParty-proxyautentisering: värd, port, användarnamn och lösenord
Skicka en HTTP-proxyvärd, numerisk port och valfria proxyuppgifter direkt till en HTTParty-förfrågan, medan API-token stannar i sin egen rubrik.
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.