HTTParty-proxyauthenticatie: host, poort, gebruikersnaam en wachtwoord
Geef een HTTP-proxyhost, numerieke poort en optionele proxyreferenties rechtstreeks door aan een HTTParty-verzoek, terwijl het API-token in zijn eigen header blijft.
HTTParty accepteert de forward-proxy als verzoekopties. Houd de service-URL als eerste 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
De proxyhost en -poort wijzen de tussenpersoon aan. De proxygebruiker en het wachtwoord authenticeren daar. De Authorization-header hoort bij de API, waarvan het account heel anders kan zijn.
Laat bij een proxy zonder authenticatie http_proxyuser en http_proxypass weg. Neem voor een openbaar API-verzoek op een toegestane openbare route een HTTP-adres uit de HTTP-proxylijst, zonder proxyreferenties in het verzoek of in de klassewaarden te bewaren. Het hostveld wordt als proxyadres aan Net::HTTP doorgegeven; geef de hostnaam apart van de poort op, niet een bestemmings-URL of PAC-URL.
Een wrapperklasse die HTTParty bevat kan in plaats daarvan zijn klassenmethode http_proxy gebruiken om standaardwaarden in te stellen. Verzoekopties overschrijven die standaardwaarden voor de aanroep die ze opgeeft.
Dit beschrijft de standaardverbindingsadapter van HTTParty. Een aangepaste connection_adapter is verantwoordelijk voor het interpreteren van zijn opties, dus onderzoek die adapter wanneer een geldige instelling genegeerd lijkt te worden. Lees de HTTP-status apart van de geparseerde API-gegevens; geslaagde JSON-parsing is geen authenticatieresultaat.