HTTP-pyynnön lähettäminen perusautentikoinnilla

Elixir:
HTTP-pyynnön lähettäminen perusautentikoinnilla

How to:

Lähettääksesi HTTP-pyynnön Elixirissä perusautentikaatiolla, voit käyttää HTTPoison-kirjastoa. Tässä on pikainen esimerkki:

# Add HTTPoison to your mix.exs dependencies if you haven't already:
# {:httpoison, "~> 1.8"}

defmodule BasicAuthExample do
  def send_request do
    auth = encode_credentials("user", "pass")
    HTTPoison.get("http://example.com", [], basic_auth: auth)
  end

  defp encode_credentials(username, password) do
    Base.encode64("#{username}:#{password}")
  end
end

# Call the function and get the response
{:ok, response} = BasicAuthExample.send_request()

Tämän pitäisi antaa sinulle vastaus, kuten:

{:ok,
 %HTTPoison.Response{
   body: "Response body here...",
   status_code: 200,
   ...
 }}

Deep Dive

Perusautentikaatio on HTTP-protokollan vanhin autentikointitapa. Se on suoraviivainen, mutta ei kauhean turvallinen, koska käyttäjätunnus ja salasana lähetetään koodattuna, mutta ei salattuna. Siksi käytä sitä vain HTTPS-protokollan yli.

Elixirissä HTTPoison on suosittu HTTP-asiakaskirjasto. Se tarjoaa yksinkertaisen tavan tehdä pyyntöjä ja käsittää vastauksia. Vaihtoehtona on Tesla, joka on joustavampi ja modulaarisempi asiakaskirjasto.

Implementaation yksityiskohdista, lähetät Authorization-otsakkeen, joka sisältää 'Basic ', ja perään Base64-koodatun merkkijonon 'käyttäjätunnus:salasana'. Serveri dekoodaa ja tarkistaa tämän ennen resurssin paljastamista.

See Also