HTTPS 请求配置

更新时间:

SDK 中可以通过在 Client 中设置 OpenAPI 的请求协议,请尽量使用 HTTPS。若不设置则用 OpenAPI 默认支持的协议类型(HTTPS):

public static void Main(string[] args)
{
    AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config();
    // Client HTTPS 参数设置
    config.Protocol = "HTTPS";
    config.Endpoint = "ecs.cn-beijing.aliyuncs.com";
    AlibabaCloud.SDK.Ecs20140526.Client client = new AlibabaCloud.SDK.Ecs20140526.Client(config);

    DescribeInstancesRequest request = new DescribeInstancesRequest();
    // 通过 SDK Core 执行实际的 Http 请求将返回的结果序列化为 SDK 的 Response 结构
    var response = client.DescribeInstances(request);
    System.Console.WriteLine(response.Body.TotalCount);
}
重要

使用 HTTPS 协议访问 OpenAPI 时,SDK 会默认开启校验 SSL/TLS 证书有效性,若您代码环境没有证书环境,则会报错证书校验失败。

为保障通信安全,建议您保持开启,若在测试环境必须忽略证书校验,可以通过运行时参数IgnoreSSL设置

public static void Main(string[] args)
{
    AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config();
    // Client HTTPS 参数设置
    config.Protocol = "HTTPS";
    config.Endpoint = "ecs.cn-beijing.aliyuncs.com";
    AlibabaCloud.SDK.Ecs20140526.Client client = new AlibabaCloud.SDK.Ecs20140526.Client(config);
    // 运行时参数设置,仅对使用了该运行时参数实例的请求有效
    RuntimeOptions runtimeOptions = new RuntimeOptions();
    // 忽略证书校验
    runtimeOptions.IgnoreSSL = true;

    DescribeInstancesRequest request = new DescribeInstancesRequest();
    // 通过 SDK Core 执行实际的 Http 请求将返回的结果序列化为 SDK 的 Response 结构
    var response = client.DescribeInstancesWithOptions(request, runtimeOptions);
    System.Console.WriteLine(response.Body.TotalCount);
}