Truyền Authentication Header Token khi POST dữ liệu tới API bằng C#

Hướng dẫn cách truyền Authentication Header Token khi gửi yêu cầu POST tới API bằng ngôn ngữ lập trình C# bằng cách sử dụng HttpClientBearer Token.

Trong bài viết này, bạn sẽ học cách truyền Authentication Header Token khi thực hiện yêu cầu POST tới một API sử dụng ngôn ngữ C#. Chúng ta sẽ sử dụng lớp HttpClient để gửi dữ liệu kèm với Bearer Token trong phần tiêu đề (header) của yêu cầu.

Mã C#:

using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        // URL API
        var apiUrl = "https://example.com/api/data";

        // Token của bạn
        var token = "your_token_here";

        // Dữ liệu POST
        var jsonData = "{\"name\":\"John Doe\",\"age\":30}";
        
        using (var client = new HttpClient())
        {
            // Truyền Authentication Header với Bearer Token
            client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token);

            // Tạo HttpContent từ dữ liệu JSON
            var content = new StringContent(jsonData, Encoding.UTF8, "application/json");

            // Gửi yêu cầu POST
            var response = await client.PostAsync(apiUrl, content);

            // Kiểm tra kết quả
            if (response.IsSuccessStatusCode)
            {
                var responseData = await response.Content.ReadAsStringAsync();
                Console.WriteLine($"Phản hồi từ API: {responseData}");
            }
            else
            {
                Console.WriteLine($"Yêu cầu thất bại. Mã trạng thái: {response.StatusCode}");
            }
        }
    }
}

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

  1. using System.Net.Http: Sử dụng namespace System.Net.Http để làm việc với HttpClient.
  2. var apiUrl = "https://example.com/api/data";: Địa chỉ URL API mà bạn muốn gửi dữ liệu tới.
  3. var token = "your_token_here";: Gán token vào biến token.
  4. client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token);: Truyền token vào Authentication Header dưới dạng "Bearer".
  5. var content = new StringContent(jsonData, Encoding.UTF8, "application/json");: Tạo một đối tượng HttpContent từ dữ liệu JSON để gửi cùng với yêu cầu.
  6. var response = await client.PostAsync(apiUrl, content);: Gửi yêu cầu POST đến API cùng với dữ liệu JSON và token trong header.
  7. if (response.IsSuccessStatusCode): Kiểm tra xem yêu cầu có thành công hay không và xử lý kết quả phản hồi.

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

  • .NET Core 3.1 trở lên hoặc .NET Framework 4.5 trở lên.

Cách cài đặt:

Sử dụng lệnh sau để tạo một dự án .NET Core Console:

dotnet new console -n MyHttpClientApp

Lời khuyên:

  • Luôn kiểm tra tính hợp lệ của token trước khi gửi yêu cầu.
  • Sử dụng try-catch để xử lý các lỗi có thể xảy ra khi gửi yêu cầu HTTP.


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

Gửi đoạn mã JavaScript vào website bằng Selenium trong C#

Hướng dẫn cách sử dụng Selenium trong C# để gửi một đoạn mã JavaScript vào một website mở trong trình duyệt Chrome. Bài viết sẽ cung cấp mã mẫu và giải thích chi tiết từng bước.
Cách ẩn ứng dụng C# khỏi Task Manager

Hướng dẫn cách ẩn ứng dụng C# khỏi Task Manager bằng cách sử dụng Win32 API để điều chỉnh thuộc tính hiển thị của ứng dụng.
Cách tự động đăng nhập vào website sử dụng Selenium với Chrome trong C#

Hướng dẫn cách sử dụng Selenium trong C# để tự động đăng nhập vào một trang web. Bài viết sẽ sử dụng trình duyệt Chrome và trình bày cách thực hiện từng bước để tự động hóa quy trình đăng nhập.
Cách INSERT dữ liệu vào database MySQL bằng C#

Hướng dẫn cách sử dụng Prepared Statements trong C# để chèn dữ liệu vào một bảng trong database MySQL một cách an toàn và hiệu quả.
Cách DELETE dữ liệu từ database MySQL bằng C#

Hướng dẫn cách sử dụng Prepared Statements trong C# để xóa dữ liệu từ một bảng trong database MySQL một cách an toàn và hiệu quả bằng cách sử dụng nhiều tham số.
Cách mở ứng dụng Notepad bằng C#

Hướng dẫn cách mở ứng dụng Notepad sử dụng C# thông qua lớp `Process` trong .NET. Bài viết này sẽ giúp lập trình viên C# biết cách thao tác với các ứng dụng bên ngoài thông qua mã lệnh đơn giản.
Hướng dẫn đọc nội dung file Excel bằng C#

Hướng dẫn chi tiết cách đọc nội dung từ file Excel (.xlsx, .xls) bằng C#, sử dụng thư viện EPPlus với các bước cài đặt và ví dụ minh họa cụ thể.
Xử lý đa luồng trong C#

Hướng dẫn chi tiết về cách xử lý đa luồng trong C# giúp bạn tận dụng hiệu quả tài nguyên của CPU, đồng thời tăng hiệu suất của ứng dụng thông qua việc thực thi nhiều công việc đồng thời.
Xác thực JSON Web Token (JWT) trong C#

Hướng dẫn cách triển khai xác thực JSON Web Token (JWT) trong C#. Bài viết sẽ chỉ ra cách tạo, ký và xác thực JWT để bảo mật API và xác thực người dùng.
Cách SELECT dữ liệu từ database MySQL bằng C#

Hướng dẫn cách sử dụng C# để truy vấn dữ liệu từ một bảng trong database MySQL bằng Prepared Statements với nhiều tham số, giúp đảm bảo an toàn và hiệu quả.

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