diff --git a/pkg/multicloud/apsara/apsara.go b/pkg/multicloud/apsara/apsara.go index 0edc33ab96..d8986f43dc 100644 --- a/pkg/multicloud/apsara/apsara.go +++ b/pkg/multicloud/apsara/apsara.go @@ -17,6 +17,8 @@ package apsara import ( "crypto/tls" "fmt" + "net/http" + "net/url" "strings" "time" @@ -25,6 +27,7 @@ import ( "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests" "github.com/aliyun/aliyun-oss-go-sdk/oss" "github.com/pkg/errors" + "golang.org/x/net/http/httpproxy" "yunion.io/x/jsonutils" "yunion.io/x/log" @@ -112,6 +115,16 @@ func NewApsaraClient(cfg *ApsaraClientConfig) (*SApsaraClient, error) { client := SApsaraClient{ ApsaraClientConfig: cfg, } + pcfg := &httpproxy.Config{ + HTTPProxy: "http://192.168.199.117:8888", + HTTPSProxy: "", + NoProxy: "", + } + proxyFunc := pcfg.ProxyFunc() + client.cpcfg.ProxyFunc = func(req *http.Request) (*url.URL, error) { + return proxyFunc(req.URL) + } + err := client.fetchRegions() if err != nil { return nil, errors.Wrap(err, "fetchRegions") @@ -240,6 +253,8 @@ func _jsonRequest(client *sdk.Client, domain string, version string, apiName str req.GetHeaders()["x-acs-instanceId"] = id } + log.Errorf("header: %s", req.GetHeaders()) + resp, err := processCommonRequest(client, req) if err != nil { return nil, errors.Wrapf(err, "processCommonRequest(%s, %s)", apiName, params) diff --git a/pkg/multicloud/apsara/project.go b/pkg/multicloud/apsara/project.go index b084aba1bb..f69367f35c 100644 --- a/pkg/multicloud/apsara/project.go +++ b/pkg/multicloud/apsara/project.go @@ -86,9 +86,9 @@ func (self *SApsaraClient) GetResourceGroups(pageNumber int, pageSize int) ([]SR "PageNumber": fmt.Sprintf("%d", pageNumber), "PageSize": fmt.Sprintf("%d", pageSize), } - resp, err := self.ascmRequest("ListResourceGroups", params) + resp, err := self.ascmRequest("ListResourceGroup", params) if err != nil { - return nil, 0, errors.Wrap(err, "rmRequest.ListResourceGroups") + return nil, 0, errors.Wrap(err, "rmRequest.ListResourceGroup") } groups := []SResourceGroup{} err = resp.Unmarshal(&groups, "ResourceGroups", "ResourceGroup")