Bei einer bestehenden HTTPotion-Anwendung übergeben Sie den Endpunkt an ihren ibrowse-Transport:

response = HTTPotion.get(
  "http://www.example.com/",
  ibrowse: [proxy_host: ~c"proxy.example", proxy_port: 8080]
)

Das Literal ~c liefert eine Erlang-Charlist für den Proxy-Hostnamen. Der Port ist eine Ganzzahl. Ein HTTP-Endpunkt aus der HTTP-Proxy-Liste kann diese beiden Felder für die gezeigte zulässige öffentliche Anfrage füllen, ohne ein Proxy-Konto hinzuzufügen. Die README von HTTPotion weist darauf hin, dass ibrowse-Optionen im Allgemeinen Charlists statt gewöhnlicher Elixir-Binärzeichenfolgen verwenden.

Die äußere URL bleibt das Ziel. Die verschachtelte ibrowse-Schlüsselwortliste ist die Übergabe der Transportoptionen; sie ist kein HTTP-Header und kein Query-Parameter.

Behandeln Sie die von HTTPotion zurückgegebene Response oder ErrorResponse über den üblichen Ablauf der Anwendung. Die Methode ohne Ausrufezeichen kann ein Fehlerobjekt zurückgeben, während get! bei einer fehlgeschlagenen Operation eine Ausnahme auslöst.

Dies ist eine Wartungsreferenz für HTTPotion, das sein Betreuer als veraltet kennzeichnet. HTTPoison ist eine andere Bibliothek mit einer anderen Transportschnittstelle; ihr Proxy-Argument ist nicht dieselbe Option, nur weil die Namen ähnlich klingen.

Ähnliche Artikel