tencent cloud

Cloud Load Balancer

릴리스 정보 및 공지 사항
릴리스 노트
제품 공지
제품 소개
제품 개요
제품 장점
시나리오
기술 원리
Product Comparison
사용 제한
Service Regions and Service Providers
구매 가이드
과금 개요
비용 계산 항목
구매 방식
연체 안내
제품 속성 선택
시작하기
도메인 이름 기반 CLB 시작하기
CLB 시작하기
CentOS에서 Nginx 배포하기
CentOS에서 Java Web 배포하기
운영 가이드
CLB 인스턴스
CLB 리스너
리얼 서버
상태 확인
인증서 관리
로그 관리
모니터링 및 알람
액세스 관리
사례 튜토리얼
CLB에 인증서 배치(양방향 인증)
HTTPS 포워딩 구성
리얼 클라이언트 IP 가져오기
로드 밸런싱 구성 모니터링 및 알람에 대한 모범 사례
다중 가용존에서 HA 구현
로드 밸런싱 알고리즘 선택 및 가중치 구성 예시
CLB 수신 도메인 이름에 대한 WAF 보호 구성하기
OPS 가이드
과도한 TIME_WAIT 상태의 클라이언트에 대한 솔루션
CLB HTTPS 서비스 성능 테스트
스트레스 테스트 FAQ
CLB 인증서 작업 권한
문제 해결
UDP 상태 확인 예외 발생
API 참조
History
Introduction
API Category
Instance APIs
Listener APIs
Backend Service APIs
Target Group APIs
Redirection APIs
Other APIs
Classic CLB APIs
Load Balancing APIs
Making API Requests
Data Types
Error Codes
CLB API 2017
FAQ
과금 관련
CLB 구성
헬스체크 이상 점검
HTTPS
WS/WSS 프로토콜 지원
HTTP/2 프로토콜 지원
연락처
용어집

Sample Codes

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2024-12-19 11:02:55

Downloading SDK Codes

Replace YOUR_SECRET_ID and YOUR_SECRET_KEY in the sample codes with your actual SecretId and SecretKey. The sample code is for reference only. Use them as needed.

Sample Code in PHP

<?php


/***************When calling a API, change the following parameters depending on the API.*********************************/
/*************Take the `DescribeInstances` API as an example to describe how to locate the CVM with the specified `instanceId`.*********/

/*The URL address for the `DescribeInstances` API is “cvm.api.qcloud.com”, which is provided in the "1. API Description" chapter.*/
$HttpUrl="cvm.api.qcloud.com";

/*Unless otherwise specified, all APIs other than `MultipartUploadVodFile` support both GET and POST request methods. */
$HttpMethod="GET";

/*Whether HTTPS protocol is used. Most APIs are based on HTTPS protocol, except such APIs as `MultipartUploadVodFile`.*/
$isHttps =true;

/*Your key is required. You can obtain SecretId and $secretKey from https://console.tencentcloud.com/capi.*/
$secretKey='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';


/*The following five parameters are common to all APIs. However, for some APIs (e.g. `DescribeDeals`) that are not region-specific, the `Region` parameter is not required.*/
$COMMON_PARAMS = array(
'Nonce'=> rand(),
'Timestamp'=>time(NULL),
'Action'=>'DescribeInstances',
'SecretId'=> 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
'Region' =>'gz',
);

/*The following two parameters are specific to the `DescribeInstances` API, which are used to query the specified CVM list.
$PRIVATE_PARAMS = array(
'instanceIds.0'=> 'qcvm00001',
'instanceIds.1'=> 'qcvm00002',
);


/***********************************************************************************/


CreateRequest($HttpUrl,$HttpMethod,$COMMON_PARAMS,$secretKey, $PRIVATE_PARAMS, $isHttps);


function CreateRequest($HttpUrl,$HttpMethod,$COMMON_PARAMS,$secretKey, $PRIVATE_PARAMS, $isHttps)
{
$FullHttpUrl = $HttpUrl."/v2/index.php";

/***************Sort the request parameters in ascending lexicographical order by their names on a case-sensitive basis.*************/
$ReqParaArray = array_merge($COMMON_PARAMS, $PRIVATE_PARAMS);
ksort($ReqParaArray);

/**********************************Generate original signature string.**********************************
* Concatenate the request method, URL address and sorted request parameters into the following format to generate the original signature string. In this example, the original signature string is as follows:
* GETcvm.api.qcloud.com/v2/index.php?Action=DescribeInstances&Nonce=345122&Region=gz
* &SecretId=AKIDz8krbsJ5yKBZQ ·1pn74WFkmLPx3gnPhESA&Timestamp=1408704141
* &instanceIds.0=qcvm12345&instanceIds.1=qcvm56789
* ****************************************************************************/
$SigTxt = $HttpMethod.$FullHttpUrl."?";

$isFirst = true;
foreach ($ReqParaArray as $key => $value)
{
if (!$isFirst)
{
$SigTxt = $SigTxt."&";
}
$isFirst= false;

/*During concatenating the original signature string, replace any "_" in a parameter name with "." */
if(strpos($key, '_'))
{
$key = str_replace('_', '.', $key);
}

$SigTxt=$SigTxt.$key."=".$value;
}

/*********************Generate a Signature based on the original signature string $SigTxt.******************/
$Signature = base64_encode(hash_hmac('sha1', $SigTxt, $secretKey, true));


/*************Concatenate the request strings. The request parameters and the signature string need to be encoded using urlencode.*******************/
$Req = "Signature=".urlencode($Signature);
foreach ($ReqParaArray as $key => $value)
{
$Req=$Req."&".$key."=".urlencode($value);
}

/*********************************Send requests********************************/
if($HttpMethod === 'GET')
{
if($isHttps === true)
{
$Req="https://".$FullHttpUrl."?".$Req;
}
else
{
$Req="http://".$FullHttpUrl."?".$Req;
}

$Rsp = file_get_contents($Req);

}
else
{
if($isHttps === true)
{
$Rsp= SendPost("https://".$FullHttpUrl,$Req,$isHttps);
}
else
{
$Rsp= SendPost("http://".$FullHttpUrl,$Req,$isHttps);
}
}

var_export(json_decode($Rsp,true));
}

function SendPost($FullHttpUrl,$Req,$isHttps)
{

$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $Req);

curl_setopt($ch, CURLOPT_URL, $FullHttpUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if ($isHttps === true) {
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
}

$result = curl_exec($ch);

return $result;
}

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백