HTTParty tarpinio serverio autentifikavimas: hostas, prievadas, vartotojo vardas ir slaptažodis
Perduokite HTTP tarpinio serverio hostą, skaitinį prievadą ir pasirenkamus tarpinio serverio kredencialus tiesiai HTTParty užklausai, o API raktą palikite jo paties antraštėje.
HTTParty priima tiesioginį tarpinį serverį kaip užklausos parinktis. Palikite paslaugos URL pirmuoju argumentu:
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
Tarpinio serverio hostas ir prievadas nurodo tarpininką. Tarpinio serverio vartotojo vardas ir slaptažodis autentifikuojami ten. Authorization antraštė priklauso API, kurio paskyra gali būti visiškai kitokia.
Jei tarpinis serveris nereikalauja autentifikavimo, praleiskite http_proxyuser ir http_proxypass. Viešai API užklausai leistiname viešame maršrute paimkite HTTP adresą iš HTTP tarpinių serverių sąrašo ir nepalikite tarpinio serverio kredencialų nei užklausoje, nei klasės numatytosiose reikšmėse. Hosto laukas perduodamas kaip tarpinio serverio adresas į Net::HTTP; nurodykite hosto vardą atskirai nuo prievado, o ne paskirties URL ar PAC URL.
Apvalkalo klasė, kuri įtraukia HTTParty, gali vietoj to naudoti savo klasės metodą http_proxy numatytosioms reikšmėms nustatyti. Užklausos parinktys pakeičia tas numatytąsias reikšmes tam iškvietimui, kuris jas pateikia.
Tai aprašo numatytąjį HTTParty ryšio adapterį. Pasirinktinis connection_adapter atsakingas už savo parinkčių interpretavimą, todėl patikrinkite tą adapterį, kai galiojantis nustatymas atrodo ignoruojamas. HTTP būseną skaitykite atskirai nuo išanalizuotų API duomenų; sėkmingas JSON išanalizavimas nėra autentifikavimo rezultatas.