كيفية إجراء طلب HTTP في C#؟
مرحبًا أيها الزملاء!
واجهت مهمة تبدو بسيطة — تنفيذ طلب HTTP إلى واجهة برمجية خارجية من تطبيق وحدة تحكم .NET 6. قرأت عدة دروس تعليمية، لكن الأمثلة في كل مكان متفرقة: في بعضها يستخدمون
حاولت كتابة طلب GET بسيط عبر
أقوم بتشغيله في الطريقة
واجهت مهمة تبدو بسيطة — تنفيذ طلب HTTP إلى واجهة برمجية خارجية من تطبيق وحدة تحكم .NET 6. قرأت عدة دروس تعليمية، لكن الأمثلة في كل مكان متفرقة: في بعضها يستخدمون
HttpClient، وفي البعض الآخر WebClient (هل هو قديم؟)، وفي البعض الآخر RestSharp. أريد فهم النهج الحديث والصحيح.حاولت كتابة طلب GET بسيط عبر
HttpClient، لكن التطبيق يتجمد. إليك الكود:var client = new HttpClient();\nvar response = await client.GetAsync("https://api.github.com/zen");\nvar content = await response.Content.ReadAsStringAsync();\nConsole.WriteLine(content);أقوم بتشغيله في الطريقة
Main (بدون async)، أحصل على تحذير بأن الكود غير المتزامن لا يُنتظر. حاولت إضافة .Result — حدث deadlock. كما أنه غير واضح ما إذا كان يجب استدعاء Dispose() لـ HttpClient وكيفية التعامل مع الأخطاء بشكل صحيح (مهلة، 404، إلخ).