
जब आप बनाने के लिए चाहते हैं एक वेब अनुरोध द्वारा HTTP से एक मोबाइल अनुप्रयोग, में विकसित Xamarin Android, ओ दृश्य स्टूडियो, भाषा का उपयोग कर सी #, आप यह वस्तु के माध्यम से कर सकते हैं 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.
कुछ कारण के लिए, जब आप एक ही प्रतिक्रिया सिस्टम प्राप्त करने का प्रयास करें त्रुटि throws, के प्राप्त करने में किसी समस्या के कारण प्रमाण पत्र, प्रकार:
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. बीम क्लिक करें के साथ सही बटन, की खिड़की में IDE के Xamarin ओ दृश्य स्टूडियो, के बारे में अपने परियोजना Android, और का चयन करें विकल्प.
चरण 2. खोलता है विंडो के प्रोजेक्ट विकल्प संभव की एक भीड़ के साथ विन्यास. में भाग बाईं ओर, का चयन करें संकलन > एंड्रॉयड बिल्ड. बाद में, में दाईं ओर, लगभग नीचे सभी, आप देखेंगे एक चयनकर्ता कहा जाता है SSL/TLS के कार्यान्वयन क्या, डिफ़ॉल्ट रूप से, आम तौर पर मान है डिफ़ॉल्ट. विकल्प का चयन करें देशी TLS 1.2+ और गार्जियन बटन पर क्लिक करके परिवर्तन ठीक है.
एक बार किया, करने के लिए परीक्षण पुन: संकलन समाधान और चलाएँ परियोजना. इस समय त्रुटि कि हम के बारे में बात कर रहे हैं दिखाई नहीं देगा और प्रश्न में URL के लिए अनुरोध किया जाएगा सही.
नोट:. ध्यान रखें कि आमतौर पर यह त्रुटि तब होती है जब अनुप्रयोग उत्पादन में है, यानी, मोड में रिलीज, और जब हम विधा है यह आमतौर पर नहीं होती विकास या डीबगिंग, डीबग करें.
