दिलचस्प पोस्ट
पढ़ने से पहले अनिर्धारित जावास्क्रिप्ट गुण सेट करें स्रोत कोड में पासवर्ड की सुरक्षा? Background.js से पृष्ठ-स्तर पर कोड निष्पादित करना और मूल्य लौटाना PHP: $ _SESSION के अंदर 'वस्तुओं' को संग्रहीत करना मीटिंग को प्रकाशित करना / सदस्यता लें मुख्य स्क्रॉलबार को हमेशा दृश्यमान बनाना एक शब्दकोश के लिए पायथन "विस्तार" सदस्य क्षेत्र, निर्माण के क्रम अपाचे स्पर्क एक्जिक्यूटोर मेमोरी कैसे सेट करें अजगर की मुख्य विधि को समझना संसाधनों को लोड करने के लिए एक सर्वलेट आधारित अनुप्रयोग के कार्यशील फ़ोल्डर कैसे खोजें एक डेवलपमेंट LAMP सर्वर पर PHP 5.x के कई संस्करण कैसे चला सकते हैं? AngularJS – छवि "ऑनलोड" इवेंट चल बिन्दु गणित टूट गया है? सी ++ 11 समान प्रारंभिक सिंटैक्स का उपयोग कैसे करें?

स्वचालित रूप से वेबक्लिएन्ट के माध्यम से gzip प्रतिक्रिया को खारिज करें। डाउनलोडडाटा

मैं स्वत: जीज़िपेड प्रतिक्रिया को असम्परोड करना चाहता हूं मैं निम्नलिखित स्निपेट का उपयोग कर रहा हूं:

mywebclient.Headers[HttpRequestHeader.AcceptEncoding] = "gzip"; mywebclient.Encoding = Encoding.UTF8; try { var resp = mywebclient.DownloadData(someUrl); } 

मैंने HttpRequestHeader enum जांच की है, और Headers माध्यम से ऐसा करने का कोई विकल्प नहीं है

मैं स्वचालित रूप से resp को दबाना कैसे कर सकता हूं? या क्या कोई अन्य फ़ंक्शन है mywebclient.DownloadData उपयोग मैं mywebclient.DownloadData बजाय करना चाहिए?

Solutions Collecting From Web of "स्वचालित रूप से वेबक्लिएन्ट के माध्यम से gzip प्रतिक्रिया को खारिज करें। डाउनलोडडाटा"

WebClient कवर के तहत HttpWebRequest का उपयोग करता है और HttpWebRequest gzip / deflate decompression का समर्थन करता है। HttpWebRequest स्वत: प्रतिलिपि संपत्ति देखें

हालांकि, वेब क्लाइंट क्लास सीधे इस प्रॉपर्टी को बेनकाब नहीं करता है तो आपको अंतर्निहित HttpWebRequest पर संपत्ति सेट करने के लिए इसे से प्राप्त करना होगा।

 class MyWebClient : WebClient { protected override WebRequest GetWebRequest(Uri address) { HttpWebRequest request = base.GetWebRequest(address) as HttpWebRequest; request.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip; return request; } } 

आपकी स्थिति के आधार पर, अपने आप को डीकंप्रेसन करना आसान हो सकता है

 using System.IO.Compression; using System.Net; try { var client = new WebClient(); client.Headers[HttpRequestHeader.AcceptEncoding] = "gzip"; var responseStream = new GZipStream(client.OpenRead(myUrl), CompressionMode.Decompress); var reader = new StreamReader(responseStream); var textResponse = reader.ReadToEnd(); // do stuff } 

मैंने स्पष्टता के लिए सभी अस्थायी चर बनाए। यह सब केवल client और textResponse लिए चपटा हो सकता है

या, यदि सादगी का लक्ष्य है, तो आप सर्विस स्टैक का उपयोग करके यह भी कर सकते हैं। पाठ डेमिस बेलोट द्वारा :

 using ServiceStack.Text; var resp = "some url".GetJsonFromUrl(); 

(अन्य हैं .Get*FromUrl एक्सटेंशन विधियों से)