全部產品
Search
文件中心

Alibaba Cloud SDK:HTTPS配置

更新時間:Jul 01, 2024

本節主要介紹V2.0 Go SDK對於HTTPS請求方式的配置。

在使用V2.0 Go SDK進行開發時,您可以在Config中配置請求協議,當Client在調用OpenAPI時,使用指定的請求協議進行通訊。建議使用HTTPS,這樣可以提升資料轉送的安全性。若不設定,則使用OpenAPI預設支援的請求協議類型(HTTPS):

config := &openapi.Config{
    // 設定協議HTTPS/HTTP
    Protocol: tea.String("HTTPS"),
}
重要

使用HTTPS協議訪問OpenAPI時,SDK會預設開啟校正SSL/TLS認證有效性,若您代碼環境沒有認證環境,則會報錯認證校正失敗。

為保障通訊安全,建議您保持開啟,若在測試環境必須忽略認證校正,可以通過運行時參數IgnoreSSL設定

// 建立RuntimeObject執行個體並設定運行參數。
runtime := &util.RuntimeOptions{}
// 忽略 SSL 相關報錯
runtime.IgnoreSSL = tea.Bool(true)

下面是完整樣本:

package main

import (
	"encoding/json"
	"fmt"
	"github.com/aliyun/credentials-go/credentials"

	openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
	ecs20140526 "github.com/alibabacloud-go/ecs-20140526/v4/client"
	util "github.com/alibabacloud-go/tea-utils/v2/service"
	"github.com/alibabacloud-go/tea/tea"
)

func main() {
	// 初始化Credential
	credential, err := credentials.NewCredential(nil)
	if err != nil {
		panic(err)
	}
	config := &openapi.Config{
		// 使用Credential配置憑證
		Credential: credential,
		// 設定協議 HTTPS/HTTP
		Protocol: tea.String("HTTPS"),
		RegionId: tea.String("<RegionId>"),
	}
	client, err := ecs20140526.NewClient(config)
	if err != nil {
		panic(err)
	}
	describeRegionsRequest := &ecs20140526.DescribeRegionsRequest{}
	// 建立RuntimeObject執行個體並設定運行參數。
	runtime := &util.RuntimeOptions{}
	// 忽略 SSL 相關報錯
	runtime.IgnoreSSL = tea.Bool(true)
	resp, err := client.DescribeRegionsWithOptions(describeRegionsRequest, runtime)
	if err != nil {
		panic(err)
	}
	// response 包含服務端響應的 body 和 headers
	body, err := json.Marshal(resp.Body)
	if err != nil {
		panic(err)
	}
	fmt.Printf("body: %s\n", string(body))
}