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

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

Hur man gör:

Skicka en HTTP-begäran med curl i PHP. Här använder vi CURLOPT_USERPWD för att lägga till autentiseringsuppgifterna.

<?php
$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, "https://exempel.se/data");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_USERPWD, "anvandare:losenord");

$response = curl_exec($curl);
if(!$response) {
    die('Error: "' . curl_error($curl) . '" - Code: ' . curl_errno($curl));
}

curl_close($curl);
echo $response;
?>

Om servern accepterar dina autentiseringsuppgifter, får du svaret tillbaka. Felaktiga uppgifter ger oftast ett 401 Unauthorized-svar.

Fördjupning:

Grundläggande autentisering har använts sedan början av webben och är en del av HTTP-protokollet. Det är enkelt men inte det säkraste alternativet, eftersom användarnamn och lösenord skickas i klartext (base64-kodat men enkelt att dekoda). HTTPS bör användas för att kryptera informationen under överföringen.

Andra alternativ inkluderar OAuth och token-baserade autentiseringssystem som erbjuder större säkerhet. Grundläggande autentisering används dock fortfarande för dess enkelhet, särskilt för interna server-till-server-kommunikationer eller där hög säkerhet inte är en prioritet.

Implementeringsdetaljer varierar beroende på vilken HTTP-klient du använder. curl är standard i PHP och erbjuder omfattande funktionalitet för att hantera HTTP-förfrågningar och autentisering.

Se även: