Enviando una solicitud http con autenticación básica

Elixir:
Enviando una solicitud http con autenticación básica

Cómo Hacerlo:

# Primero, añade la dependencia :httpoison en mix.exs
defp deps do
  [{:httpoison, "~> 1.8"}]
end

# Luego, ejecuta `mix deps.get` para instalar la dependencia

# Después, aquí hay un ejemplo simple de una solicitud GET con autenticación básica usando HTTPoison:
defmodule HttpClient do
  def get_with_basic_auth(url, username, password) do
    auth = :base64.encode("#{username}:#{password}")
    headers = [{"Authorization", "Basic #{auth}"}]

    HTTPoison.get(url, headers)
  end
end

# Uso:
{:ok, response} = HttpClient.get_with_basic_auth("https://api.ejemplo.com/data", "usuario", "contraseña")

# Output:
# response.body tendrá el contenido de la respuesta
# response.status_code será el código de estado HTTP

Inmersión Profunda:

La autenticación básica HTTP es un método antiguo pero simple para controlar el acceso a recursos web. No es el más seguro porque las credenciales van codificadas en base64, que es fácilmente decodificable. Es por eso que es fundamental usar HTTPS para encriptar la comunicación.

Alternativas incluyen OAuth, que es más complejo pero también más seguro. Aun así, la autenticidad básica puede ser útil para servicios internos o para pruebas rápidas.

En el caso de Elixir, HTTPoison se basa en Hackney, que maneja la conexión HTTP subyacente. Otras librerías como Tesla también podrían ser consideradas, pero HTTPoison es popular por su simplicidad y fluidez en Elixir.

Ver También: