D· AI-utvecklareprogrammering· ca 45 min· grundläggande — ändras sällan· verifierad 2026-09-20
API:er och HTTP
Kunna anropa ett REST-API med requests, tolka statuskoder och hantera nycklar säkert.
Förkunskaper
Intuition
Nästan varje AI-tjänst nås via ett HTTP-API: du skickar en förfrågan (metod + URL + ev. JSON), får ett svar (statuskod + JSON).
| Kod | Betyder | Vad gör du |
|---|---|---|
| 200 | OK | läs svaret |
| 400 | din förfrågan är fel | läs felmeddelandet |
| 401/403 | ingen/fel nyckel | kolla nyckeln |
| 404 | fel adress | kolla URL |
| 429 | för många anrop | vänta och försök igen |
| 500 | servern föll | försök igen senare |
Nycklar är lösenord. Aldrig i koden, aldrig i git — läs från miljövariabel.
Kod
import os, requests
KEY = os.environ["LLM_API_KEY"] # sätts utanför koden
r = requests.post(
"https://api.example.com/v1/chat/completions",
headers={"Authorization": f"Bearer {KEY}"},
json={"model": "small", "messages": [{"role": "user", "content": "Hej"}]},
timeout=30,
)
if r.status_code == 429:
print("kvot slut — vänta", r.headers.get("Retry-After"))
r.raise_for_status() # lyfter vid 4xx/5xx
svar = r.json()
print(svar["choices"][0]["message"]["content"])
Sätt alltid timeout — annars kan programmet hänga för evigt när servern inte svarar.
Behärskning innebär
- Anropar ett REST-API med requests och tolkar JSON
- Förklarar statuskoder 200/400/401/404/429/500
- Hanterar nycklar via miljövariabler
Logga in för att göra övningarna och bygga upp din behärskning.
Källor
- requests — dokumentation (Apache-2.0) — Apache-2.0
- Wikipedia — HTTP-statuskoder (CC BY-SA 4.0) — CC BY-SA 4.0