
عندما كنت تريد أن تجعل طلب الويب قبل HTTP من أحد تطبيقات الجوال, النامية في الروبوت إكسامارين, o Visual Studio, استخدام لغة C #, يمكنك القيام بذلك عن طريق الكائن System.Net.HttpWebRequest. أحب هذا, يمكنك جعل طلب معلومات أو بيانات لأي عنوان URL ثم استخدامها في التطبيق الخاص بك.
للقيام بذلك, على مدونة باستخدام هذا مشابهة لما يلي, دون تأخذ في الاعتبار أي معالجة الاستثناء في نفس:
1 2 | System.Net.HttpWebRequest req = System.Net.WebRequest.CreateHttp(url); System.Net.HttpWebResponse res = (System.Net.HttpWebResponse)req.GetResponse(); |
بئر, ما قد يكون من الوهلة الأولى واضحة و لا تعطي أي نوع من مشاكل, هل يمكن أن تصبح إزعاج إذا طلب إلى الحصول على عنوان URL, أي, إلى عنوان HTTPS.
لسبب من الأسباب, عند محاولة الحصول على نفس نظام الاستجابة يطرح خطأ, نظراً لوجود مشكلة في الحصول على شهادة, نوع:
1 2 3 | Exception in Class: WebClient with message Error getting response stream (Write: The authentication or decryption has failed.): SendFailure Stack Trace: at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x00000] in :0 at System.Net.HttpWebRequest.GetResponse () [0x00000] in :0 at ... |
من أجل إصلاح هذا العيب، ولا يقدم أي خطأ, يجب أن يكون تغيير في خيارات المشروع في مسألة. دعونا نرى أنها:
الخطوة 1. شعاع انقر فوق مع الزر الأيمن, في النافذة بيئة تطوير متكاملة من إكسامارين o Visual Studio, حول الخاص بك مشروع الروبوت, وحدد خيارات.
الخطوة 2. يفتح نافذة من خيارات المشروع مع العديد من ممكن تكوينات. في الجزء اليسار, حدد التحويل البرمجي > بناء الروبوت. وفي وقت لاحق, في المربع الجانب الأيمن, تقريبا أدناه جميع, سوف تشاهد محدد ودعا تنفيذ SSL/TLS ما, بشكل افتراضي, القيمة عادة افتراضي. حدد الخيار TLS أصلي 1.2+ و الجارديان التغييرات بالنقر على زر موافق.
وبمجرد القيام به, اختبار إلى ترجمة مرة أخرى الحل و تشغيل المشروع. هذه المرة خطأ أننا نتحدث عن لن تظهر وسوف يكون الطلب لعنوان URL المطلوب صحيح.
ملاحظة. ضع في اعتبارك أن يحدث هذا الخطأ عادة عندما يكون التطبيق في الإنتاج, أي, في وضع إطلاق سراح, وأنه لا يحدث عادة عندما يكون لدينا الوضع التنمية أو تصحيح الأخطاء, التصحيح.
