Tous les produits
Search
Centre de documentation

Alibaba Cloud SDK:Configure a proxy

Dernière mise à jour :Aug 11, 2026

Si votre environnement achemine le trafic sortant via un serveur proxy, configurez-le avant d'envoyer des requêtes SDK.

Méthodes de configuration

Remarque

Si les deux méthodes sont configurées simultanément, le paramètre défini lors de l'initialisation du client prévaut sur les variables d'environnement.

  • Variables d'environnement : cette approche simplifiée convient aux environnements conteneurisés ou CI/CD. Définissez une ou plusieurs des variables suivantes avant de démarrer votre application :

    • HTTP_PROXY ou http_proxy : URL du proxy pour les requêtes HTTP. Exemple : http://127.0.0.1:8080.

    • HTTPS_PROXY ou https_proxy : URL du proxy pour les requêtes HTTPS, avec identifiants facultatifs. Format : http://<user>:<password>@<host>:<port>. Exemple : http://user:password@127.0.0.1:8989.

    • NO_PROXY ou no_proxy : liste d'adresses IP ou de noms de domaine séparés par des virgules et exclus du proxy. Exemple : 127.0.0.1,localhost.

  • Initialisation du client : configurez le proxy par programmation lors de l'initialisation d'un client SDK. Ce paramètre remplace toute configuration par variables d'environnement.

    import (
    	"fmt"
    
    	"os"
    
    	"github.com/aliyun/alibaba-cloud-sdk-go/sdk"
    	"github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials"
    	ecs "github.com/aliyun/alibaba-cloud-sdk-go/services/ecs"
    )
    
    func main() {
    	// Initialize the SDK configuration.
    	config := sdk.NewConfig()
    	// Use the AccessKey ID and AccessKey secret of the Resource Access Management (RAM) user.
    	credential := credentials.NewAccessKeyCredential(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
    	client, err := ecs.NewClientWithOptions("cn-hangzhou", config, credential)
    	if err != nil {
    		panic(err)
    	}
    	// Configure proxies on the initialized client.
    	// Format for an authenticated proxy: http://<user>:<password>@<host>:<port>
    	client.SetHttpsProxy("http://user:password@127.0.0.1:8989") // HTTPS proxy
    	client.SetHttpProxy("http://127.0.0.1:8080")                // HTTP proxy
    	client.SetNoProxy("127.0.0.1,localhost")                    // Comma-separated IPs or domain names that bypass the proxy
    
    	// Create a request.
    	request := ecs.CreateDescribeRegionsRequest()
    	request.Scheme = "https"
    	// Set the request parameters.
    	request.InstanceChargeType = "PrePaid" // The billing method of the instance.
    	request.ResourceType = "instance"      // The resource type.
    	// Send the request and handle the response.
    	response, err := client.DescribeRegions(request)
    	if err != nil {
    		fmt.Print(err.Error())
    	}
    	fmt.Printf("response is %#v\n", response)
    }