Autenticació del proxy a HTTParty: amfitrió, port, usuari i contrasenya
Passeu un amfitrió de proxy HTTP, un port numèric i credencials de proxy opcionals directament a una sol·licitud HTTParty, tot mantenint el testimoni de l'API a la seva pròpia capçalera.
HTTParty accepta el proxy directe com a opcions de la sol·licitud. Mantingueu l'URL del servei com a primer 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
L'amfitrió i el port del proxy identifiquen l'intermediari. L'usuari i la contrasenya del proxy s'autentiquen allà. La capçalera Authorization pertany a l'API, el compte de la qual pot ser completament diferent.
Per a un proxy sense autenticació, ometeu http_proxyuser i http_proxypass. Per a una sol·licitud d'API pública en una ruta pública permesa, preneu una adreça HTTP de la llista de proxys HTTP sense conservar credencials de proxy ni a la sol·licitud ni als valors per defecte de la classe. El camp d'amfitrió es passa com a adreça de proxy a Net::HTTP; proporcioneu el nom d'amfitrió separat del port, no una URL de destinació ni una URL PAC.
Una classe embolcall que inclou HTTParty pot, en lloc d'això, fer servir el seu mètode de classe http_proxy per establir valors per defecte. Les opcions de la sol·licitud substitueixen aquests valors per a la crida que les proporciona.
Això descriu l'adaptador de connexió per defecte d'HTTParty. Un connection_adapter personalitzat s'encarrega d'interpretar les seves opcions, així que reviseu aquest adaptador quan un paràmetre vàlid sembli ignorat. Llegiu l'estat HTTP per separat de les dades de l'API analitzades; un JSON analitzat correctament no és un resultat d'autenticació.