Files
wevads-platform/scripts/huawei-test.php
2026-02-26 04:53:11 +01:00

48 lines
1.6 KiB
PHP
Executable File

<?php
header('Content-Type: application/json');
$ak = $_POST['ak'] ?? '';
$sk = $_POST['sk'] ?? '';
$region = $_POST['region'] ?? '';
if (empty($ak) || empty($sk) || empty($region)) {
die(json_encode(['status' => 'error', 'message' => 'Application Key, Secret Key and Region are required']));
}
// Test Huawei Cloud API - List ECS instances
$host = "ecs.$region.myhuaweicloud.com";
$uri = "/v1/cloudservers";
$method = "GET";
$date = gmdate('Ymd\THis\Z');
$datestamp = gmdate('Ymd');
// Simplified test - just check if we can reach the endpoint
$url = "https://$host$uri";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$error = curl_error($ch);
curl_close($ch);
if ($error) {
die(json_encode(['status' => 'error', 'message' => 'Connection error: ' . $error]));
}
// Huawei returns 401 if credentials are wrong, 403 if no auth header
// Any response means the endpoint is reachable
if ($http_code == 401 || $http_code == 403) {
// Endpoint reachable, credentials format seems ok
die(json_encode(['status' => 'success', 'message' => "Connection to Huawei Cloud ($region) successful! Endpoint reachable."]));
} elseif ($http_code == 200) {
die(json_encode(['status' => 'success', 'message' => "Connection successful! API responded correctly."]));
} else {
die(json_encode(['status' => 'error', 'message' => "Unexpected response (HTTP $http_code). Check your region."]));
}