API Operation Guide for Using PHP to Connect to Huawei Cloud
Huawei Cloud provides a rich API interface, allowing developers to easily use Huawei Cloud functions and services. This article will introduce how to use PHP to connect to Huawei Cloud's API, and come with code examples.
1. Preparation
1. Register a Huawei Cloud account and create the corresponding application and obtain the API key. API keys include Access Key and Secret Key, used for authentication and access control.
2. Make sure that the server has installed PHP and corresponding extensions, such as curl and openssl extensions.
2. Configure API signature
Huawei Cloud's API requires each request to be signed to ensure the integrity and security of the request. Signature requires Access Key and Secret Key.
The following is a sample code for generating a signature for API requests:
function buildSignature($accessKey, $secretKey, $httpMethod, $urlPath, $queryParams, $bodyParams = array()){ // 构建待签名的字符串 $requestString = strtolower($httpMethod) . " " . $urlPath . " " . buildQueryString($queryParams) . " " . buildQueryString($bodyParams); // 使用HMAC-SHA256算法计算签名 $signature = base64_encode(hash_hmac('sha256', $requestString, $secretKey, true)); // 将签名添加到请求头中 $headers = array( "Authorization: HWS $accessKey:$signature" ); return $headers; } function buildQueryString($params){ $query = ''; ksort($params); foreach ($params as $key => $value){ $query .= urlencode($key) . '=' . urlencode($value) . '&'; } return rtrim($query, '&'); }
3. Send API requests
Use PHP's curl library to send HTTP requests, the following is A sample code for sending GET and POST requests:
1. Send GET request:
function sendGetRequest($url, $queryParams){ $ch = curl_init($url . '?' . buildQueryString($queryParams)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); return $response; }
2. Send POST request:
function sendPostRequest($url, $queryParams, $bodyParams){ $ch = curl_init($url . '?' . buildQueryString($queryParams)); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($bodyParams)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); return $response; }
4. Call API interface
According to specific business needs, call the corresponding API interface. The following is a sample code for calling Huawei Cloud's object storage OBS service:
$accessKey = "YOUR_ACCESS_KEY"; $secretKey = "YOUR_SECRET_KEY"; $obsEndpoint = "https://obs.example.com"; $bucketName = "your-bucket"; $objName = "your-object"; // 配置API请求参数 $urlPath = "/$bucketName/$objName"; $queryParams = array( "bucket-name" => $bucketName, "obj-name" => $objName ); $headers = buildSignature($accessKey, $secretKey, "GET", $urlPath, $queryParams); // 发送API请求 $response = sendGetRequest($obsEndpoint . $urlPath, $queryParams); echo $response;
The above sample code demonstrates how to use PHP to connect to Huawei Cloud's API and implement the function of calling Huawei Cloud OBS service.
Summary: This article introduces the basic operation guide for using PHP to connect to Huawei Cloud's API, including sample code for configuring API signatures, sending API requests, and calling API interfaces. Developers can use these codes for secondary development based on specific business needs to implement more functions and services. Hope this article helps you!
The above is the detailed content of API operation guide for using PHP to connect to Huawei Cloud. For more information, please follow other related articles on the PHP Chinese website!