最近因调用gitlab API,在生成某些字符串的时候直接请求 gitlab API 失败, url如下:
keysURL := "http://192.168.1.212:10080/api/v3/user/keys?id=" +
strconv.Itoa(model.Id) + "&private_token=" + privateToken + "&key=" + pub + "&title=gitclone"
查找问题发现是字符串编码问题,利用
url.QueryEscape()
keysURL := "http://192.168.1.212:10080/api/v3/user/keys?id=" +
strconv.Itoa(model.Id) + "&private_token=" + privateToken + "&key=" + url.QueryEscape(pub) + "&title=gitclone"
解决了问题。