[Go] HTTP リクエストを送るときにベーシック認証を通過させる

作成日: 2023年04月07日

http パッケージの Request.SetBasicAuth() 関数を使用すると、ベーシック認証がかかっている URL に対して、リクエストを送信できるようになります。 下記の例では、*http.Request を生成したとに、SetBasicAuth() 関数に、ユーザー名 dummy_user_name とパスワード dummy_password を設定し、GET リクエストを送信しています。

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    request, err := http.NewRequest("GET", "https://example.com/basic_auth/", nil)
    if err != nil {
        fmt.Println(err.Error())
    }

    request.SetBasicAuth("dummy_user_name", "dummy_password")

    client := &http.Client{}

    response, err := client.Do(request)
    if err != nil {
        fmt.Println(err.Error())
    }
    defer response.Body.Close()

    responseBody, err := ioutil.ReadAll(response.Body)
    if err != nil {
        fmt.Println(err.Error())
    }

    fmt.Print(string(responseBody))
}
Go