尝试使用 Go 的 http 客户端从 Github 下载 zip 或 tar.gz 文件时,您可能会遇到错误消息“您对此网站的访问已受到限制”。尽管 Go 客户端出现错误,curl 仍然可以正常工作。据报告,此问题发生在 us-west-2 区域中运行 Ubuntu Server 16.04 LTS 的 EC2 实例上。
已提供以下配置详细信息:
以下是重现该问题的示例代码片段:
<code class="go">package main import ( "fmt" "io/ioutil" "net/http" ) func main() { endpoint := "https://github.com/kubeflow/manifests/archive/v1.0.2.tar.gz" // 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)) }</code>
值得注意的是,代码在本地计算机上成功运行,表明该问题特定于 AWS 实例。
解决方案:
遇到了类似的问题,错误消息“访问此网站已受到限制”。解决方案涉及更新 IDE (IntelliJ IDEA) 和 git 版本。这个过程可以直接在 IntelliJ IDEA 中完成。
以上是当 Curl 运行时,为什么我的 Go Http 客户端在 Github 上出现'您对该站点的访问已被限制”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!