HTTParty-Proxy-Authentifizierung: Host, Port, Benutzername und Passwort
Übergeben Sie einen HTTP-Proxy-Host, einen numerischen Port und optionale Proxy-Zugangsdaten direkt an eine HTTParty-Anfrage und lassen Sie das API-Token in seinem eigenen Header.
HTTParty akzeptiert den Forward-Proxy als Anfrageoptionen. Behalten Sie die Dienst-URL als erstes 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
Proxy-Host und -Port bezeichnen den Vermittler. Proxy-Benutzer und -Passwort authentifizieren sich dort. Der Authorization-Header gehört zur API, deren Konto völlig anders sein kann.
Bei einem Proxy ohne Authentifizierung lassen Sie http_proxyuser und http_proxypass weg. Für eine öffentliche API-Anfrage auf einer erlaubten öffentlichen Route nehmen Sie eine HTTP-Adresse aus der HTTP-Proxy-Liste, ohne Proxy-Zugangsdaten in der Anfrage oder in den Klassenvorgaben zu behalten. Das Host-Feld wird als Proxy-Adresse an Net::HTTP übergeben; geben Sie den Hostnamen getrennt vom Port an, nicht eine Ziel-URL oder PAC-URL.
Eine Wrapper-Klasse, die HTTParty einbindet, kann stattdessen ihre Klassenmethode http_proxy verwenden, um Vorgaben zu setzen. Anfrageoptionen überschreiben diese Vorgaben für den Aufruf, der sie angibt.
Dies beschreibt den Standard-Verbindungsadapter von HTTParty. Ein eigener connection_adapter ist für die Auslegung seiner Optionen verantwortlich; prüfen Sie diesen Adapter, wenn eine gültige Einstellung ignoriert zu werden scheint. Lesen Sie den HTTP-Status getrennt von den geparsten API-Daten; erfolgreiches JSON-Parsen ist kein Authentifizierungsergebnis.