API에 연결하고, 사용자를 인증하고, 사용자 세부 정보를 보려면 먼저 로그인하여 세션 쿠키를 얻어야 합니다. . 그러나 Curl을 사용하는 경우 사용자 세부 정보에 액세스하려고 하면 401 무단 오류가 발생할 수 있습니다. 이는 Curl이 서로 다른 엔드포인트 간의 통신을 활성화하기 위해 세션 쿠키를 유지해야 하기 때문에 발생합니다.
제공된 코드는 로그인 엔드포인트에 컬을 적용하고 쿠키 항아리를 저장합니다. 그러나 후속 요청 시 저장된 쿠키를 함께 보내려면 CURLOPT_COOKIEFILE도 동일한 쿠키 jar로 설정해야 합니다. 이렇게 하면 Curl에 세션을 유지하고 사용자 세부 정보를 성공적으로 검색하는 데 필요한 정보가 제공됩니다.
수정된 코드는 다음과 같습니다.
define("COOKIE_FILE", "cookie.txt"); // Login the user $ch = curl_init('http://api.example.com/login/joe/smith'); curl_setopt ($ch, CURLOPT_COOKIEJAR, COOKIE_FILE); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, true); echo curl_exec ($ch); // Read the session saved in the cookie file echo "<br /><br />"; $file = fopen("cookie.txt", 'r'); echo fread($file, 100000000); echo "<br /><br />"; // Get the users details $ch = curl_init('http://api.example.com/user'); curl_setopt ($ch, CURLOPT_COOKIEJAR, COOKIE_FILE); **curl_setopt ($ch, CURLOPT_COOKIEFILE, COOKIE_FILE);** // **Set the cookie file** curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, true); echo curl_exec ($ch);
CURLOPT_COOKIEFILE을 추가하면 Curl이 이제 세션을 유지합니다. 쿠키를 사용하여 사용자 세부 정보에 성공적으로 액세스했습니다.
위 내용은 API에 액세스할 때 401 무단 오류를 방지하기 위해 Curl 세션을 활성 상태로 유지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!