یک برنامه کنسول به زبان C# بنویسید که یک آدرس وب (URL) را از کاربر دریافت کند، وضعیت HTTP آن را با یک درخواست GET بررسی کند و نتیجه (موفق/هدایت/خطا/نامناسب) را با استفاده از Console.ForegroundColor به رنگ‌های مختلف نمایش دهد.

3.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:26

0.0

برای حل این مسئله از یک برنامه کنسول استفاده کنید و با کلاس HttpClient یک درخواست GET به URL ورودی ارسال کنید (می‌توانید async/await یا GetAsync را به کار ببرید). براساس کد وضعیت پاسخ (2xx، 3xx، 4xx/5xx) متن مناسب چاپ کرده و با Console.ForegroundColor آن را به ترتیب سبز، زرد و قرمز رنگ‌آمیزی کنید و در پایان رنگ را با Console.ResetColor بازنشانی کنید. نکات: خطاهای شبکه را با try/catch مدیریت کنید، زمان‌انتظار مناسب تعیین کنید و برای ساده‌سازی کار می‌توانید از ارزیابی response.IsSuccessStatusCode استفاده کنید.

توسط پژوهشگر در 221 روز قبل ساعت 01:26
دسته بندی ها: C# C# for beginner
nima در 221 روز قبل ساعت 13:16

نکته کلیدی این است که HttpClient را به صورت یک نمونه طولانی‌مدت (مثلاً به‌عنوان فیلد استاتیک یا Singleton) استفاده کنید تا از مشکلات مصرف سوکت جلوگیری شود. اگر می‌خواهید 3xx را تشخیص دهید، باید HttpClientHandler.AllowAutoRedirect را روی false بگذارید؛ در غیر این صورت هدایت‌ها دنبال می‌شوند و معمولاً فقط وضعیت نهایی مانند 200 نمایش داده می‌شود. با استفاده از وضعیت پاسخ و تقسیم‌بندی 2xx، 3xx و 4xx/5xx می‌توانید پیام مناسب را چاپ کنید و از IsSuccessStatusCode برای ساده‌سازی استفاده کنید. همچنین خطاهای شبکه را با try/catch مدیریت کنید، برای پاسخ‌ها timeout مناسبی تعیین کنید و در پایان Console.ResetColor را فراموش نکنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری