首页 >后端开发 >Golang >当 Curl 运行时,为什么我的 Go Http 客户端在 Github 上出现'您对该站点的访问已被限制”错误?

当 Curl 运行时,为什么我的 Go Http 客户端在 Github 上出现'您对该站点的访问已被限制”错误?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-29 14:49:02687浏览

Why Does My Go Http Client Get

使用 Go Http 客户端“Github 您对此站点的访问已受到限制”

尝试使用 Go 的 http 客户端从 Github 下载 zip 或 tar.gz 文件时,您可能会遇到错误消息“您对此网站的访问已受到限制”。尽管 Go 客户端出现错误,curl 仍然可以正常工作。据报告,此问题发生在 us-west-2 区域中运行 Ubuntu Server 16.04 LTS 的 EC2 实例上。

已提供以下配置详细信息:

  • Go 版本: 1.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

以下是重现该问题的示例代码片段:

<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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn