Curl が動作するときに、Go Http クライアントで Github 上で「このサイトへのアクセスは制限されています」というエラーが発生するのはなぜですか?

Mary-Kate Olsen
リリース: 2024-10-29 14:49:02
オリジナル
680 人が閲覧しました

Why Does My Go Http Client Get

「Github このサイトへのアクセスは制限されています」 Go Http クライアントの使用

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート