# #go
Вопрос:
Чтобы загрузить конкретный файл из выпуска в частном репозитории github, когда я выполняю
curl -H 'Authorization: token my_github_token'
-H 'Accept: application/vnd.github.v3.raw'
-O
-L https://github.com/privateorg/privaterepo/releases/download/v.0.10/product-v.0.10-darwin-amd64.tar.gz
он правильно загружает файл, но когда я пытаюсь сделать это в Golang с помощью моей функции, как:
func dl(address, fileName string, headers map[string]string) error {
client := amp;http.Client{}
req, _ := http.NewRequest("GET", address, nil)
for k, v := range headers {
req.Header.Set(k, v)
}
response, err := client.Do(req)
if err != nil {
return err
}
defer func() {
_ = response.Body.Close()
}()
..... rest of the function
а затем позвоните по нему через
url := "https://github.com/privateorg/privaterepo/releases/download/v.0.10/product-v.0.10-darwin-amd64.tar.gz"
err := Download(url, zipTarget, map[string]string{
"Authorization": "token my_github_token",
"Accept": "application/vnd.github.v3.raw",
});
Мой client.Do(req)
звонок принимает ошибку 404. Не могли бы вы, пожалуйста, объяснить мне, чего мне не хватает?
Комментарии:
1. ваш код на самом деле кажется прекрасным. лучше всего было бы проверить значение ошибки
NewRequest
и проверить адресdl
, который получает ваша функция.2. НЕ ПРОПУСКАЙТЕ НИ ОДНОЙ ОШИБКИ в GO.