2009-09-29 12 views
13

द्वारा किया जाना चाहिए मैंने नमूना एएसपीनेट एप्लिकेशन बनाया है और httpwebrequest का उपयोग कर अपने सर्वर से डेटा स्क्रैप करने का प्रयास किया है। लेकिन कुछ बार मुझे यह उपरोक्त त्रुटि मिली। मैंने google पर कुछ खोज की हैं लेकिन सभी कह रहे हैं कि आपको web.config में "<httpWebRequest useUnsafeHeaderParsing="true" />" संपत्ति जोड़नी चाहिए।HttpWebRequestError: सर्वर ने प्रोटोकॉल उल्लंघन किया है। अनुभाग = प्रतिक्रिया हैडर विस्तार = सीआर का पालन एलएफ

इस संपत्ति में 'यूएनएसएएफईई' शब्द है, इसलिए मैं इसके बारे में बहुत चिंतित हूं। मैं इसे अपनी साइट कॉन्फ़िगरेशन में नहीं जोड़ सकता। क्या मेरे स्क्रैप यूआरएल की प्रतिक्रिया पढ़ने के लिए कोई अन्य विकल्प है। कृपया मुझे बताएं यह कैसे बिना अग्रिम में "<httpWebRequest useUnsafeHeaderParsing="true" />"

धन्यवाद संभव हो सकता है, Laxmilal Menaria

+0

मैंने एक ही त्रुटि के साथ एक अलग मामला देखा है - [Imperva's Incapsula] (https://www.incapsula.com/cdn-content-delivery-network/caching.html) कैशिंग तंत्र ने एक विशिष्ट प्रतिक्रिया कैश करने की कोशिश की । तो, वास्तविक सर्वर पर रीडायरेक्ट करने की बजाय, * इंकापुला * ने उसी प्रतिक्रिया के साथ उत्तर दिया, लेकिन किसी भी तरह, हेडर थोड़ा अलग थे और विंडोज सीआर-एलएफ (\ r \ n) के साथ अनुपालन नहीं कर रहे थे। – itsho

उत्तर

19

यह निश्चित रूप से एक सर्वर problem-- सर्वर HTTP विनिर्देशन और .NET ग्राहक एक के रूप में इस पर चिह्नित करने है का पालन नहीं कर रहा है संभावित समस्या। "असुरक्षित" मुझे कुछ हद तक गलत लगता है। यहां वास्तव में एक बड़ी सुरक्षा समस्या नहीं है, केवल आरएफसी के साथ अनुपालन जो बुरा है लेकिन दुर्भाग्य से नहीं दुर्लभ।

<configuration> 
<system.net> 
    <settings> 
    <httpWebRequest useUnsafeHeaderParsing="true" /> 
    </settings> 
</system.net> 
</configuration> 
+0

यदि आप सोच रहे हैं कि इसे कहां जोड़ना है, तो 'App.config' के लिए समाधान एक्सप्लोरर देखें। –

2

एक तरीका यह डिबग करने के लिए (और यह प्रोटोकॉल उल्लंघन करता है सुनिश्चित करने के लिए:

तो, जैसा कि आप गूगल में पाया, जिस तरह से समस्या को हल पाने के लिए निम्न विन्यास बदलाव को लागू करने के लिए है समस्या पैदा कर रहा है), फिडलर (एचटीपी वेब प्रॉक्सी) का उपयोग करना है और देखें कि क्या एक ही त्रुटि होती है। यदि ऐसा नहीं होता है (यानी फिडलर ने आपके लिए इस मुद्दे को संभाला है) तो आप UseUnsafeHeaderParsing ध्वज का उपयोग करके इसे ठीक करने में सक्षम होना चाहिए। http://o2platform.wordpress.com/2010/10/20/dealing-with-the-server-committed-a-protocol-violation-sectionresponsestatusline/

2

एक और संभावना है: जब एक पोस्ट कर रही है, सर्वर एक 100 के साथ प्रतिक्रिया एक गलत तरीके से जारी रखने के लिए

आप यह मान प्रोग्राम के सेट यहाँ उदाहरण देखने के लिए एक तरह से तलाश कर रहे हैं।

यह मेरे लिए समस्या हल:

request.ServicePoint.Expect100Continue = झूठी;

संबंधित मुद्दे

 संबंधित मुद्दे