为了账号安全,请及时绑定邮箱和手机立即绑定

如何访问http客户端响应正文全局

如何访问http客户端响应正文全局

Go
精慕HU 2023-07-10 17:25:17
在下面的代码中,我尝试将变量“Regprofile”作为全局变量访问,但得到空输出。有什么帮助吗?type GMLCInstance struct {    NfInstanceID   string   `json:"nfInstanceID"`    HeartBeatTimer int      `json:"heartBeatTimer"`    NfType         []string `json:"nfType"`    NfStatus       []string `json:"nfStatus"`    Ipv4Addresses  []string `json:"ipv4Addresses"`}var Regprofile GMLCInstance// Request credentials and token from NRF and register profile to NFR databasefunc init() {    urlcred := "https://127.0.0.1:9090/credentials"    // Perform the request    resp, err := netClient.Get(urlcred)    if err != nil {        log.Fatalf("Failed get: %s", err)    }    defer resp.Body.Close()    // Fill the record with the data from the JSON    var cr Credential    // Use json.Decode for reading streams of JSON data    if err := json.NewDecoder(resp.Body).Decode(&cr); err != nil {        log.Println(err)    }    //fmt.Println(cr)    clientId := cr.CLIENTID    clientsec := cr.CLIENTSECRET    // Get token    reqtoken := url.Values{        "grant_type":    []string{"client_credentials"},        "client_id":     []string{clientId},        "client_secret": []string{clientsec},        "scope":         []string{"GMLC"},    }    urlq := "https://127.0.0.1:9090/oauth2/token?"    res, err := netClient.PostForm(urlq+reqtoken.Encode(), nil)    if err != nil {        log.Fatalf("Failed get: %s", err)    }    var auth AccessToken    // Use json.Decode for reading streams of JSON data    if err := json.NewDecoder(res.Body).Decode(&auth); err != nil {        log.Println(err)    }    //fmt.Println(auth.AccessToken)    token := auth.AccessToken    para := url.Values{        "access_token": []string{token},    }我得到的空数据为 { 0 [] [] []}
查看完整描述

1 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

您可以在函数范围内本地func init()重新声明变量。var Regprofile GMLCInstance该声明将全局变量与局部变量隐藏起来。只需删除里面的这个本地声明即可init()



查看完整回答
反对 回复 2023-07-10
  • 1 回答
  • 0 关注
  • 146 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信