Sitzung mit Curl und PHP am Leben halten: Nicht autorisierte 401-Fehler beheben
Um einen Benutzer zu authentifizieren und seine Daten abzurufen, muss Ihr Curl-Code erhalten bleiben die Sitzung. Beim Versuch, nach erfolgreicher Anmeldung auf Benutzerdaten zuzugreifen, tritt jedoch ein nicht autorisierter Fehler 401 auf.
Das Problem liegt im Fehlen der Option CURLOPT_COOKIEFILE in Ihrem Curl-Setup. Diese Option gibt die Datei an, aus der Cookies gelesen werden sollen, wenn nachfolgende Anfragen ausgeführt werden. Ohne diese Option sendet Curl die gespeicherten Cookies nicht, was zum Autorisierungsfehler führt.
Um dieses Problem zu beheben, fügen Sie CURLOPT_COOKIEFILE zu Ihrem Curl-Code hinzu und verweisen Sie dabei auf dieselbe Cookie-Datei, die Sie mit CURLOPT_COOKIEJAR verwenden. Dadurch wird sichergestellt, dass Curl die gespeicherten Cookies aus der Datei liest und sie in nachfolgende Anfragen einbezieht:
$ch = curl_init('http://api.example.com/user'); curl_setopt($ch, CURLOPT_COOKIEJAR, COOKIE_FILE); **curl_setopt($ch, CURLOPT_COOKIEFILE, COOKIE_FILE);** curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, true);
Durch die Einbindung beider Optionen, CURLOPT_COOKIEJAR und CURLOPT_COOKIEFILE, verarbeitet Curl Sitzungscookies ordnungsgemäß, sodass Sie die Authentifizierung beibehalten können Sitzung und erfolgreicher Zugriff auf Benutzerdetails.
Das obige ist der detaillierte Inhalt vonWie kann ich nicht autorisierte 401-Fehler beheben, wenn ich Curl und PHP zur Aufrechterhaltung von Benutzersitzungen verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!