HTTParty-proxyautentisering: vert, port, brukernavn og passord
Send en HTTP-proxyvert, numerisk port og valgfrie proxy-legitimasjoner direkte til en HTTParty-forespørsel, mens API-tokenet blir i sin egen header.
HTTParty godtar videresendingsproxyen som forespørselsvalg. Behold tjenestens URL som første 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
Proxyverten og -porten angir mellomleddet. Proxybrukeren og -passordet autentiseres der. Authorization-headeren tilhører API-et, hvis konto kan være helt annerledes.
For en proxy uten autentisering utelater du http_proxyuser og http_proxypass. For en offentlig API-forespørsel på en tillatt offentlig rute tar du en HTTP-adresse fra HTTP-proxylisten uten å beholde proxy-legitimasjoner i forespørselen eller i klassens standardverdier. Vertsfeltet sendes som proxyadresse til Net::HTTP; oppgi vertsnavnet atskilt fra porten, ikke en mål-URL eller PAC-URL.
En innpakningsklasse som inkluderer HTTParty kan i stedet bruke http_proxy-klassemetoden sin til å sette standardverdier. Forespørselsvalg overstyrer disse standardverdiene for kallet som oppgir dem.
Dette beskriver HTTPartys standard tilkoblingsadapter. En tilpasset connection_adapter er ansvarlig for å tolke valgene sine, så undersøk den adapteren når en gyldig innstilling ser ut til å bli ignorert. Les HTTP-statusen atskilt fra de parsede API-dataene; vellykket JSON-parsing er ikke et autentiseringsresultat.