Skicka en HTTP-förfrågan med Basic-autentisering

Lua:
Skicka en HTTP-förfrågan med Basic-autentisering

Hur gör man:

local http = require("socket.http")
local ltn12 = require("ltn12")

local username = "användare"
local password = "lösenord"
local auth = "Basic " .. (require("mime").b64(username .. ":" .. password))

local response = {}
local body, code, headers, status = http.request {
  url = "http://exempelsida.se/data",
  method = "GET",
  headers = {
    ["Authorization"] = auth
  },
  sink = ltn12.sink.table(response)
}

if code == 200 then
  print(table.concat(response))
else
  print(status)
end

Exempelutdata:

{"message": "Hej! Autentisering lyckades."}

Fördjupning

Grundläggande autentisering är en del av HTTP-standarden som har använts sedan början av webben för att skydda innehåll. Det är enkel att implementera men inte det säkraste, eftersom användarnamn och lösenord skickas i klartext kodat i Base64. Moderna alternativ inkluderar OAuth och JWT. Implementeringsdetaljer är viktiga - använd HTTPS för att undvika oönskad avlyssning och se till att hantera lösenord varsamt.

Se även