Cách truyền Authentication Header Token khi POST dữ liệu tới API bằng Golang

Hướng dẫn cách truyền Authentication Header Token khi gửi yêu cầu POST dữ liệu tới API bằng Golang. Bài viết này sẽ giúp bạn hiểu cách làm việc với HTTP request, thêm token vào Header để xác thực và gửi dữ liệu tới API.

Bài viết này sẽ trình bày cách gửi yêu cầu POST tới một API bằng Golang, đồng thời truyền Token trong phần Authentication Header để xác thực. Sử dụng http.NewRequesthttp.Client để gửi dữ liệu cùng với việc đính kèm token trong yêu cầu.

Mã Golang:

package main

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

func main() {
    url := "https://example.com/api"
    token := "Bearer your_token_here"
    
    // Tạo dữ liệu dưới dạng JSON để gửi đi
    jsonData := []byte(`{"key": "value"}`)
    
    // Tạo một yêu cầu POST
    req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
    if err != nil {
        fmt.Println("Error creating request:", err)
        return
    }
    
    // Đặt Content-Type là JSON và thêm Token vào Header
    req.Header.Set("Content-Type", "application/json")
    req.Header.Set("Authorization", token)
    
    // Sử dụng http.Client để gửi yêu cầu
    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        fmt.Println("Error making POST request:", err)
        return
    }
    defer resp.Body.Close()

    // Đọc phản hồi từ API
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Println("Error reading response:", err)
        return
    }
    
    // In phản hồi ra màn hình
    fmt.Println("Response Body:", string(body))
}

Giải thích chi tiết từng dòng code:

  1. url := "https://example.com/api": Địa chỉ API mà bạn muốn gửi dữ liệu tới.
  2. token := "Bearer your_token_here": Chuỗi token để xác thực API, thông thường là dưới dạng "Bearer {token}".
  3. jsonData := []byte({"key": "value"}): Tạo dữ liệu JSON để gửi đi trong yêu cầu POST.
  4. req, err := http.NewRequest("POST", url, bytes.NewBuffer(jsonData)): Tạo yêu cầu HTTP POST với dữ liệu JSON.
  5. req.Header.Set("Content-Type", "application/json"): Thiết lập Content-Type cho yêu cầu là JSON.
  6. req.Header.Set("Authorization", token): Thêm Authentication Header Token vào yêu cầu.
  7. client := &http.Client{}: Tạo HTTP client để gửi yêu cầu.
  8. resp, err := client.Do(req): Gửi yêu cầu POST tới API.
  9. body, err := ioutil.ReadAll(resp.Body): Đọc phản hồi từ API.

Yêu cầu hệ thống:

  • Phiên bản Golang 1.16 trở lên
  • Kết nối Internet để gọi API

Cách cài đặt các thư viện để chạy được đoạn mã Golang trên:

  • Không yêu cầu thêm thư viện ngoài net/httpio/ioutil, các thư viện này đã được tích hợp sẵn trong Golang.

Lời khuyên:

  • Đảm bảo token của bạn là hợp lệ và được cập nhật thường xuyên nếu sử dụng các dịch vụ API bảo mật.
  • Sử dụng thư viện context để quản lý timeout cho các yêu cầu HTTP nhằm tránh tình trạng yêu cầu bị treo lâu.


Các Hướng Dẫn Cùng Chủ Đề Đang Xem

Hướng dẫn đọc nội dung file Excel bằng Golang

Hướng dẫn chi tiết cách đọc nội dung từ file Excel (.xlsx, .xls) bằng Golang, sử dụng thư viện excelize với các bước cài đặt và ví dụ minh họa cụ thể.
Tạo mã Captcha bằng Golang

Hướng dẫn chi tiết cách tạo mã Captcha bằng Golang để bảo vệ ứng dụng web khỏi các cuộc tấn công tự động và bot.
Cách chia chuỗi trong Golang bằng hàm Split

Bài viết hướng dẫn cách sử dụng hàm `Split` trong Go (Golang) để chia nhỏ một chuỗi dựa trên dấu phân cách. Đây là một thao tác phổ biến khi xử lý chuỗi trong lập trình Go.
Cách POST data tới API bằng Golang

Bài viết này hướng dẫn cách gửi dữ liệu tới API bằng phương thức POST trong Golang, giúp bạn hiểu rõ hơn về cách tương tác với các dịch vụ web.
Cách SELECT dữ liệu từ database MySQL bằng Golang

Hướng dẫn cách sử dụng Golang để truy vấn dữ liệu từ MySQL database bằng Prepared Statements với nhiều tham số.
Cách tách chuỗi trong Golang bằng hàm SplitAfter

Hướng dẫn cách sử dụng hàm `SplitAfter` trong Golang để tách chuỗi dựa trên một ký tự hoặc một chuỗi con nhất định. Bài viết này sẽ giải thích chi tiết cách hàm này hoạt động và ví dụ cụ thể.
Cách lấy dữ liệu JSON từ API bằng Golang

Bài viết này hướng dẫn cách lấy dữ liệu JSON từ API sử dụng ngôn ngữ lập trình Golang, giúp bạn hiểu rõ hơn về cách tương tác với các dịch vụ web.
Cách mở ứng dụng Notepad bằng Golang

Hướng dẫn cách sử dụng gói `os/exec` trong Golang để mở ứng dụng Notepad trên hệ điều hành Windows. Đây là một ví dụ thực tiễn về cách gọi và chạy một chương trình bên ngoài từ Golang.
Cách chuyển đổi chuỗi thành Boolean, Integer hoặc Float trong Golang

Hướng dẫn cách chuyển đổi chuỗi (string) thành các kiểu dữ liệu Boolean, Integer hoặc Float trong Golang. Bài viết này sẽ giúp bạn hiểu cách sử dụng các hàm chuyển đổi tích hợp trong Go để thao tác với các loại dữ liệu khác nhau.
Slices trong Golang: Cách sử dụng và ví dụ

Bài viết này hướng dẫn cách sử dụng `slices` trong Golang, bao gồm cách khai báo, truy cập, và thao tác với slices - một tính năng linh hoạt giúp quản lý mảng hiệu quả hơn trong Go.

Đã thêm vào giỏ hàng