5) { die(json_encode(['error' => '접근 권한이 없습니다.'])); } // API 키 읽기 $apiKeyFile = $_SERVER['DOCUMENT_ROOT'] . '/apikey/claude_api.txt'; $apiKey = trim(file_get_contents($apiKeyFile)); // 테스트할 모델들 $models = [ 'claude-3-5-sonnet-20241022', 'claude-3-5-sonnet-20240620', 'claude-3-opus-20240229', 'claude-3-sonnet-20240229', 'claude-3-haiku-20240307' ]; $results = []; foreach ($models as $model) { $requestBody = [ 'model' => $model, 'max_tokens' => 100, 'messages' => [ [ 'role' => 'user', 'content' => 'Hello, just testing. Reply with OK.' ] ] ]; $ch = curl_init('https://api.anthropic.com/v1/messages'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'x-api-key: ' . $apiKey, 'anthropic-version: 2023-06-01' ]); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($requestBody)); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); $responseData = json_decode($response, true); $results[$model] = [ 'status' => $httpCode, 'success' => ($httpCode === 200), 'error' => isset($responseData['error']) ? $responseData['error']['message'] : null, 'response' => $httpCode === 200 ? 'OK' : null ]; } header('Content-Type: application/json'); echo json_encode($results, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);