Pour une application HTTPotion existante, transmettez le point de terminaison à son transport ibrowse :

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

Le littéral ~c fournit une charlist Erlang pour le nom d'hôte du proxy. Le port est un entier. Un point de terminaison HTTP issu de la liste de proxys HTTP peut remplir ces deux champs pour la requête publique autorisée indiquée, sans ajouter de compte proxy. Le README de HTTPotion signale que les options d'ibrowse utilisent généralement des charlists plutôt que des chaînes binaires Elixir ordinaires.

L'URL externe reste la destination. La liste imbriquée de mots-clés ibrowse est la transmission des options de transport ; ce n'est ni un en-tête HTTP ni un paramètre de requête.

Traitez la Response ou l'ErrorResponse renvoyée par HTTPotion via le flux habituel de l'application. La méthode sans point d'exclamation peut renvoyer un objet d'erreur, tandis que get! lève une exception lorsque l'opération échoue.

Il s'agit d'une référence de maintenance pour HTTPotion, que son mainteneur marque comme obsolète. HTTPoison est une autre bibliothèque avec une autre interface de transport ; son argument de proxy n'est pas la même option simplement parce que les noms se ressemblent.

Articles similaires