Para una aplicación HTTPotion existente, pase el endpoint a su transporte ibrowse:

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

El literal ~c proporciona una charlist de Erlang para el nombre del host del proxy. El puerto es un entero. Un endpoint HTTP de la lista de proxies HTTP puede rellenar estos dos campos para la solicitud pública permitida que se muestra, sin añadir una cuenta de proxy. El README de HTTPotion señala que las opciones de ibrowse suelen usar charlists en lugar de cadenas binarias normales de Elixir.

La URL externa sigue siendo el destino. La lista anidada de palabras clave de ibrowse es la entrega de opciones de transporte; no es una cabecera HTTP ni un parámetro de consulta.

Gestione la Response o ErrorResponse devuelta por HTTPotion mediante el flujo habitual de la aplicación. El método sin signo de exclamación puede devolver un objeto de error, mientras que get! lanza una excepción cuando la operación falla.

Esta es una referencia de mantenimiento de HTTPotion, cuyo mantenedor lo marca como obsoleto. HTTPoison es otra biblioteca con otra interfaz de transporte; su argumento de proxy no es la misma opción solo porque los nombres se parezcan.

Artículos relacionados