دسته بندی ها
15:45 1402/01/26

ارسال Jwt Token به WebApi توسط header در سی شارپ

مشخصات سوال کننده :
کاربر : android     امتیاز کاربر : 25     رتبه کاربر : 28
دسته بندی : Asp.net Mvc Web Api سی شارپ

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2529
هوش مصنوعی

پاسخ هوش مصنوعی

برای ارسال یک JWT Token به Web API از سمت کلاینت در سی شارپ می توانید از کد زیر استفاده کنید. این کد یک درخواست HTTP ایجاد کرده و توکن JWT را در هدر آن اضافه می کند:

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

class Program
{
    static async Task Main(string[] args)
    {
        string apiUrl = "https://yourapi.com/endpoint"; // آدرس API خود را اینجا قرار دهید
        string jwtToken = "your_jwt_token"; // توکن JWT خود را اینجا قرار دهید

        using (var httpClient = new HttpClient())
        {
            // اضافه کردن توکن به هدر
            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", jwtToken);

            // ارسال درخواست به API
            var response = await httpClient.GetAsync(apiUrl);

            if (response.IsSuccessStatusCode)
            {
                var responseData = await response.Content.ReadAsStringAsync();
                Console.WriteLine(responseData); // پردازش داده های دریافت شده
            }
            else
            {
                Console.WriteLine("Error: " + response.StatusCode);
            }
        }
    }
}

در این کد، ابتدا شبکه اینترنتی ایجاد می شود و سپس توکن JWT به عنوان هدر Authorization به درخواست اضافه می شود. بعد از آن درخواست به URL مورد نظر ارسال می شود و پاسخ آن چاپ می گردد.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : saedbfd 16:15 1402/01/26

شما می تونید توسط کلاس WebRequest یک درخواست بسازید و به سمت WebApi ارسال کنید. همچنین برای اینکه درون header این درخواست مقداری رو ارسال کنید از کلاس HttpWebRequest می تونید استفاده کنید. در کد زیر یک درخواست ساده ساخته شده و در header این درخواست یک کلید به نام Authorization ایجاد و مقدار Token درون این کلید قرار گرفته.

 

public async Task<string> GetApiList(string apiUrl, string token)
{
   var myUrl = new Uri(apiUrl);
   var apiRequestCreator = WebRequest.Create(myUrl);
   var httpWebRequest = (HttpWebRequest)apiRequestCreator;

   httpWebRequest.Headers.Add("Authorization", "Bearer " + token);
   httpWebRequest.Accept = "application/json";

   try
   {
      var WebResponse = httpWebRequest.GetResponse();
      var responseStream = WebResponse.GetResponseStream();

      if (responseStream == null) return null;

      var StreamReader = new StreamReader(responseStream, Encoding.Default);
      var json = StreamReader.ReadToEnd();

      WebResponse.Close();
      responseStream.Close();

      return json;
   }
   catch (Exception)
   {
      throw;
   }
}

 

نکته : اگر درون header قصد ارسال jwt Token رو دارید نام کلید باید حتما Authorization باشه و مقدار درون کلید باید حتما با کلمه کلیدی Bearer شروع بشه.

به این پاسخ امتیاز بدهید    0
امتیاز: 1664 رتبه: 1
پاسخ دهنده : mehdisahandi 22:58 1402/03/22

استاد لطفا آموزش ارسال پاراکتر به api رو هم اموزش بدین. هم get و هم Post و delete و ...

به این پاسخ امتیاز بدهید    0
امتیاز: 0 رتبه: 7080
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود