راکت

استفاده از API در سی شارپ

2 پاسخ

من می خوام با سی شارپ یه برنامه ای بنویسم که به openweather API یک درخواست get بفرسته
چطوری باید انجامش بدم؟

ثبت پرسش جدید

پاسخ‌ها

2
ابوالفضل
ابوالفضل
@amata

تخصص: برنامه نويس

مهدی نظری
مهدی نظری
@mahdi.nazari

تخصص: توسعه دهنده Front End

سلام دوست من 🖐
امیدوارم حالت خوب و عالی باشی✨

به ترتیب باید مراحل زیر رو انجام بدین

نصب کتابخانه‌ها:
برای شروع، نیاز به نصب دو کتابخانه HttpClient و Newtonsoft.Json داری می‌تونی این کار را با NuGet انجام بدی

کد C# برای ارسال درخواست GET:

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

class Program
{
    static async Task Main()
    {
        // کلید API خود را از OpenWeather دریافت کنید
        string apiKey = "YOUR_API_KEY";

        // شهر و کشور مورد نظر خود را تعیین کنید
        string city = "Tehran";
        string country = "IR";

        // ایجاد URL برای ارسال درخواست به OpenWeather API
        string apiUrl = $"https://api.openweathermap.org/data/2.5/weather?q={city},{country}&appid={apiKey}";

        // ایجاد یک شی HttpClient
        using (HttpClient client = new HttpClient())
        {
            try
            {
                // ارسال درخواست GET به OpenWeather API و دریافت پاسخ
                HttpResponseMessage response = await client.GetAsync(apiUrl);

                // بررسی موفقیت درخواست
                if (response.IsSuccessStatusCode)
                {
                    // دریافت محتوای پاسخ به صورت رشته
                    string responseBody = await response.Content.ReadAsStringAsync();

                    // پردازش پاسخ JSON
                    // شما می‌توانید از کتابخانه Newtonsoft.Json برای پردازش JSON استفاده کنید
                    // در اینجا مثالی از چگونگی استخراج یک فیلد از JSON نشان داده شده است
                    dynamic weatherData = Newtonsoft.Json.JsonConvert.DeserializeObject(responseBody);
                    string temperature = weatherData.main.temp;
                    Console.WriteLine($"دما در {city}، {country}: {temperature} کلوین");
                }
                else
                {
                    Console.WriteLine($"خطا در دریافت پاسخ: {response.ReasonPhrase}");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"خطا: {ex.Message}");
            }
        }
    }
}

در این کد، شما باید YOUR_API_KEY را با کلید API واقعی خود از سرویس OpenWeather جایگزین کنی

همچنین، متغیرهای city و country را با شهر و کشور مورد نظر خود تنظیم کنی

پس از اجرای برنامه، درخواست GET به API ارسال می‌شه و پاسخ JSON پردازش می‌شه. در این مثال، دمای کلوین در شهر مورد نظر نمایش داده می‌شه

از طریق تغییر متغیرهای city و country می‌تونی اطلاعات هواشناسی برای شهرها و کشورهای دیگر را هم دریافت کنی

امیدوارم پاسخم بهت کمک کرده باشه ❤️
موفق و پیروز باشی 🤘🌹

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام