我在使用 Go 的 http 客户端从 Github 下载 zip 或 tar.gz 文件时遇到了问题。我收到一个 403 消息“您对该站点的访问已被限制”。
卷曲工作正常。
我在 us-west-2 区域的 AWS 上的 EC2 实例中运行它。尤其,
Ubuntu Server 16.04 LTS (HVM),SSD 卷类型 - ami-0807918df10edc141(64 位 x86)/ami-0c75fb2e6a6be38f6(64 位 Arm)
信息
- Go:go1.15.linux-amd64(也在 14 上试过)
- AWS - Ubuntu Server 16.04 LTS (HVM),SSD 卷类型 - ami-0807918df10edc141(64 位 x86)/ami-0c75fb2e6a6be38f6(64 位 Arm)
- 端点:https ://github.com/kubeflow/manifests/archive/v1.0.2.tar.gz (我也和其他人一起尝试过,没有工作)
重现的示例代码:
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
endpoint := "https://github.com/kubeflow/manifests/archive/v1.0.2.tar.gz"
// or https://api.github.com/repos/kubeflow/manifests/zipball/v0.12.0
// Get the data
resp, err := http.Get(endpoint)
if err != nil {
fmt.Printf("[error] %v", err)
return
}
defer resp.Body.Close()
respData, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Printf("[error] %v", err)
return
}
// Returns a 403 and html error page
fmt.Printf("Resp:\n%v\n", string(respData))
}
注意:以上在我的本地机器上工作正常,它似乎只是在 aws 实例中停止。
谢谢!