সার্ভার একটি প্রোটোকল লঙ্ঘন করেছে। বিভাগ = প্রতিক্রিয়া স্ট্যাটাসলাইন ইরর


115

আমি একটি প্রোগ্রাম তৈরি করেছি, কোনও সাইটে একটি স্ট্রিং পোস্ট করার চেষ্টা করেছি এবং আমি এই ত্রুটিটি পেয়েছি:

"সার্ভার একটি প্রোটোকল লঙ্ঘন করেছে Section বিভাগ = প্রতিক্রিয়া স্ট্যাটাসলাইন"

কোডের এই লাইনের পরে:

gResponse = (HttpWebResponse)gRequest.GetResponse(); 

আমি কীভাবে এই ব্যতিক্রমটি ঠিক করতে পারি?

উত্তর:


71

এটি আপনার অ্যাপ্লিকেশন / ওয়েবকনফাইগে রাখার চেষ্টা করুন:

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

যদি এটি কাজ না করে তবে আপনি KeepAliveসম্পত্তিটিকে মিথ্যা হিসাবে সেট করার চেষ্টা করতে পারেন ।


3
এই ত্রুটিটি ছুঁড়ে মারতে আমার 6 টি url ছিল। ইউসএফএফহিডার পার্সিং সেট করা একটি লিঙ্কের জন্য এটি ঠিক করেছে তবে কিপএলাইভ = মিথ্যা সেট করে এটি সকলের জন্য fixed.
ডেভিড হ্যামন্ড

3
একইটি অ-ওয়েব অ্যাপ্লিকেশনগুলির জন্য App.copnfig এ <কনফিগারেশন> রুট ট্যাগের ভিতরে স্থাপন করা যেতে পারে (উদাহরণস্বরূপ, আমি WPF অ্যাপ্লিকেশনটিকে সেভাবে স্থির করেছি - ধন্যবাদ!)
Yury Schkatula

আইআইএস দ্বারা এই সুরক্ষা ব্যবস্থা কেন আরোপ করা হয়েছে তা যে কেউ জানেন? এটি কার্যকর হয়েছিল, তবে শিরোনামের মানগুলিতে বিধিনিষেধের কারণ আমি নিজে বুঝতে পারি না (সেগুলি ম্যানুয়ালি আমার ক্ষেত্রে সেট করে)।
এমরান

26
এটি সমস্যাটিকে প্রকৃতপক্ষে স্থির করার পরিবর্তে এড়িয়ে চলেছে। আমি মনে করি এটি ডিফল্ট সমাধান হওয়া উচিত নয়।
টোবিয়াস

4
টোবিয়াদের সাথে সম্মত হন - আপনি সমস্যা এড়াচ্ছেন। এখন এটি হতে পারে যে সমস্যাটি কোনও সার্ভারে রয়েছে যা আপনি ঠিক করতে পারবেন না, এবং এড়ানো এড়ানো আপনার একমাত্র বিকল্প হতে পারে ... তবে তবুও, প্রোটোকলের ত্রুটি এড়ানো এবং আসলে এটি ঠিক করার মধ্যে পার্থক্য সম্পর্কে পরিষ্কার হয়ে আসুন be
মেটাফোরজ

58

কখনও কখনও UserAgentঅনুরোধ পরামিতি খালি থাকে যখন এই ত্রুটি ঘটে (আমার ক্ষেত্রে github.com এপিআই)।

খালি স্ট্রিং নয় এই পরামিতিটি সেট করা আমার সমস্যার সমাধান করে।


5
আহ এই আমার প্রয়োজন ছিল। ধন্যবাদ। : এখানে একটি ব্যবহারকারী-এজেন্ট উদাহরণ stackoverflow.com/a/15144495/891976
ডেভিড Ruhmann

সাথে ব্যবহারের জন্য একটি দ্রুত লাইন WebClientএখানে stackoverflow.com/a/11841680/4795214

5
ধন্যবাদ। আপনি ক্যোয়ারী চান GitHub মাধ্যমে HttpClient অ্যাড: client.DefaultRequestHeaders.Add("User-Agent", "Anything"); ফিক্স জন্য লাইন।
সিহান ইয়াকার

32

আমার মামলার অপরাধী একটি No Contentপ্রতিক্রিয়া ফিরিয়ে দিচ্ছিল তবে একই সময়ে একটি প্রতিক্রিয়া সংস্থাটির সংজ্ঞা দিচ্ছিল। এই উত্তরটি আমাকে এবং অন্যরা হয়ত আবার কখনও কোনও শরীরের সাথে প্রতিক্রিয়া না ফিরিয়ে দিতে পারেNoContent

এই আচরণ সঙ্গে সামঞ্জস্যপূর্ণ 10.2.5 204 No Content এ এর HTTP- র স্পেসিফিকেশন যেখানে বলা আছে:

২০৪ টি প্রতিক্রিয়ার মধ্যে কোনও বার্তা-শৃঙ্খলা অন্তর্ভুক্ত নয় এবং এটি শিরোনাম ক্ষেত্রগুলির পরে সর্বদা প্রথম খালি লাইন দ্বারা সমাপ্ত হয়।


The server committed a protocol violation. Section=ResponseStatusLine WebApi ব্যবহার করার সময় যখন কিছু উদ্ভট কারণে প্রতিক্রিয়াটি NoContent()পাঠাচ্ছিল এমন কাস্টম প্রতিক্রিয়া ফিরিয়ে আনার সময় ত্রুটিটি পেয়েছিলাম কেবল এটি পড়ুন No Content! একবার আমি তা বের করার পরে সমস্যাটি চলে গেল :)
ইন্ট্রিপিড

2
এটি আমার সমস্যাও ছিল, যদিও এটি মুশকিল ছিল কারণ এটি কোনও কন্টেন্ট প্রতিক্রিয়াটির পরে কলটি ব্যর্থ হয়েছিল।
mdickin

+1someContent থেকে সরিয়ে ফিক্সডreturn Request.CreateResponse(HttpStatusCode.NoContent, someContent);
স্নিপেটকিড

12

আরেকটি সম্ভাবনা: একটি পোষ্ট করার সময়, সার্ভারটি একটি ভুল উপায়ে চালিয়ে 100 দিয়ে সাড়া দেয়।

এটি আমার জন্য সমস্যার সমাধান:

request.ServicePoint.Expect100Continue = false;

মিডিয়াফায়ার এপিআইতে অ্যাক্সেস করার সময় এটি আমার পক্ষে কাজ করেছিল।
অ্যালেক্সপি

3
আমি জানি আমি দেরি করে আসছি তবে, "ভুল উপায়ে" বলতে কী বোঝ?
কুস্কমেন

1
যে কেউ এইচটিপিপ্লিনেন্ট ব্যবহার করে , তার জন্য নিম্নলিখিতগুলি আমার জন্য কাজ করেছে:var http = new HttpClient(); http.DefaultRequestHeaders.ExpectContinue = false;
ব্যবহারকারীর 2444499

9

আমার যখন আমার লোকাল মেশিনে স্কাইপ চালু ছিল তখন এটি আমার জন্য ঘটছিল। আমি বন্ধ করার সাথে সাথেই ব্যতিক্রমটি চলে গেল।

এই পৃষ্ঠার আইডিয়া সৌজন্যে


একই সমস্যা ছিল। স্কাইপ হতে পরিণত। এটি এত দুর্ভাগ্য যে সঠিক বার্তা সরবরাহ করা যায় না।
জর্দান কোস্কে

আপনার আসলে স্কাইপ বন্ধ করার দরকার নেই, স্কাইপ বন্ধ না করে কীভাবে এটি মোকাবেলা করতে হবে তা দেখানোর জন্য আমি নীচে একটি উত্তর যুক্ত করেছি।
AltF4_

8

এটির ডিবাগ করার একটি উপায় (এবং এটি প্রোটোকল লঙ্ঘন যা সমস্যার সৃষ্টি করছে তা নিশ্চিত করার জন্য), ফিডলার (এইচটিপিপি ওয়েব প্রক্সি) ব্যবহার করা এবং একই ত্রুটি ঘটে কিনা তা দেখুন। যদি এটি না হয় (অর্থাত্ ফিডলার আপনার জন্য সমস্যাটি পরিচালনা করেছে) তবে আপনি ইউসুসেফহিডার পার্সিং পতাকা ব্যবহার করে এটি ঠিক করতে সক্ষম হবেন।

আপনি যদি এই মানটি সেট করার কোনও উপায় অনুসন্ধান করে থাকেন তবে এখানে উদাহরণগুলি দেখুন: http://o2platform.wordpress.com /


জিইডি এইচটিটিপি অনুরোধের সাথে আমার যে সমস্যাটি আছে তা আসলেই ফিডলার ঠিক করে ফেলছেন। ফিডলারের মাধ্যমে কী করা যায় তা আমরা দেখতে পারি?
অলিভিয়ার ম্যাট্রোট

8

অনেকগুলি সমাধান একটি কর্মক্ষেত্র সম্পর্কে কথা বলে, তবে ত্রুটির প্রকৃত কারণ সম্পর্কে নয়।

এই ত্রুটির একটি সম্ভাব্য কারণ হ'ল যদি ওয়েবসারর শিরোনাম প্রতিক্রিয়া বিভাগ ব্যতীত ASCIIবা অন্য কোনও ISO-8859-1আউটপুট ব্যবহার করে তবে এনকোডিং ব্যবহার করে । ব্যবহারের কারণটি ISO-8859-1যদি হয়Response-Phrase হ'ল এতে প্রসারিত লাতিন অক্ষর থাকে।

এই ত্রুটির আর একটি সম্ভাব্য কারণ হ'ল যদি কোনও ওয়েবসার্ভার এটি ব্যবহার করে UTF-8যা বাইট-অর্ডার-মার্কার (বিওএম) কে আউটপুট করে। উদাহরণস্বরূপ, ডিফল্ট ধ্রুবক Encoding.UTF8BOM কে আউটপুট করে এবং এটিকে ভুলে যাওয়া সহজ। ওয়েবপৃষ্ঠাগুলি ফায়ারফক্স এবং ক্রোমে সঠিকভাবে কাজ HttpWebRequestকরবে তবে বোমা ফেলবে :)। একটি দ্রুত ফিক্সটি হ'ল ইউটিএফ -8 এনকোডিং যা বিওএম আউটপুট দেয় না তা ব্যবহার করার জন্য ওয়েবসভারটি পরিবর্তন করা, উদাহরণস্বরূপ new UTF8Encoding(false)(যা Response-Phraseকেবলমাত্র এএসসিআইআই অক্ষর ধারণ করে ঠিক আছে তবে এটি ব্যবহার করা উচিত ASCIIবা ISO-8859-1শিরোনামগুলির জন্য, এবং তারপরে UTF-8বা প্রতিক্রিয়াটির জন্য অন্য কিছু এনকোডিং)।


এটি সেরা সাড়া। এটি ব্যাখ্যা করে যে ওয়েব সার্ভারটি কেন খারাপ ব্যবহার করছে। ধন্যবাদ! (এইচটিপিপ্লাইটারে মোতায়েনের সমস্যার কারণে আমাকে সকেটগুলির সাথে একটি ওয়েব সার্ভার অনুকরণ করতে হবে
অ্যান্ড্রু

6

100 টি প্রত্যাশা সেট করা মিথ্যা হিসাবে চালিয়ে যাওয়া এবং সকেট অলস সময়কে দুই সেকেন্ডে হ্রাস করে আমার জন্য সমস্যার সমাধান করে

ServicePointManager.Expect100Continue = false; 
ServicePointManager. MaxServicePointIdleTime = 2000; 

6

স্কাইপই ছিল আমার সমস্যার মূল কারণ:

এই ত্রুটিটি সাধারণত ঘটে যখন আপনি এএসপি.এনইটি-তে অন্তর্নির্মিত না হয়ে আইআইএসে চলমান একটি বিদ্যমান ওয়েব অ্যাপ্লিকেশনটি ডিবাগ করার জন্য ভিজ্যুয়াল স্টুডিও সেট আপ করেছেন have ডিবাগ ওয়েব সার্ভারে । আইআইএস ডিফল্টভাবে 80 পোর্টে ওয়েব অনুরোধের জন্য শোনায় this এই ক্ষেত্রে, অন্য একটি অ্যাপ্লিকেশন ইতিমধ্যে 80 বন্দরটিতে অনুরোধের জন্য শুনছে Typ স্কাইপ ইতিমধ্যে ৮০ বন্দর দখল করেছে। তাই আইআইএস শুরু করতে অক্ষম।

সমস্যা সমাধানের জন্য পদক্ষেপগুলি অনুসরণ করুন:

স্কাইপ -> সরঞ্জাম -> বিকল্প -> উন্নত -> সংযোগ:

"ইনকামিং সংযোগগুলির বিকল্প হিসাবে পোর্ট 80 এবং 443 ব্যবহার করুন" নির্বাচন করুন।

এবং নীচের দিকে নির্দেশিত হিসাবে একবার হয়ে গেলে একটি আইআইএস পুনরায় সেট করুন


2
এবং মনে রাখবেন আইআইএস পুনরায় চালু করার পরে
আহমেদ গালাল

3

আমি একটি প্রক্সি এর পিছন থেকে শেষ.এফএম রেস্ট এপিআই অ্যাক্সেস করার চেষ্টা করেছি এবং এই বিখ্যাত ত্রুটি পেয়েছি।

সার্ভার একটি প্রোটোকল লঙ্ঘন করেছে। অনুচ্ছেদ = ResponseStatusLine

কিছু কাজের চেষ্টা করার পরে, কেবল এই দুজনই আমার পক্ষে কাজ করেছিল

HttpWebRequest HttpRequestObj = WebRequest.Create(BaseUrl) as HttpWebRequest;
HttpRequestObj.ProtocolVersion = HttpVersion.Version10;

এবং

HttpWebRequest HttpRequestObj = WebRequest.Create(BaseUrl) as HttpWebRequest;
HttpRequestObj.ServicePoint.Expect100Continue = false;

2

সমাধানগুলির কোনওটিই আমার পক্ষে কাজ করেনি, সুতরাং আমাকে এইচটিপিওয়েবরেউকস্টের পরিবর্তে একটি ওয়েবক্লিয়েন্ট ব্যবহার করতে হয়েছিল এবং সমস্যাটি আর ছিল না।

আমার একটি কুকি কনটেনার ব্যবহার করা দরকার, তাই আমি পাভেল সাভারা পোস্ট করা সমাধানটি এই থ্রেডে ব্যবহার করেছি - ব্যবহার করেছি ওয়েবক্লিনেন্ট শ্রেণীর সাথে কুকি কনটেনার ব্যবহার করে

এই লাইনটি থেকে কেবল "সুরক্ষিত" সরান:

প্রাইভেট রিডনলি কুকি কনটেনার কন্টেইনার = নতুন কুকি কনটেনার ();


2

এই সমস্যার সম্ভাব্য কারণ হ'ল নেটওয়ার্কে ওয়েব প্রক্সি অটো আবিষ্কারের প্রোটোকল (ডাব্লুপিএডি) কনফিগারেশন। এইচটিটিপি অনুরোধটি এমন কোনও প্রক্সিতে স্বচ্ছভাবে প্রেরণ করা হবে যা ক্লায়েন্ট গ্রহণ করবে না বা গ্রহণ করতে কনফিগার করা নেই এমন প্রতিক্রিয়াটিকে আবার পাঠাতে পারে। বিটগুলিতে আপনার কোড হ্যাক করার আগে, ডাব্লুপিএডি খেলছে না তা পরীক্ষা করে দেখুন, বিশেষত যদি নীল থেকে এই "ঘটতে শুরু করে"।


2

আমার সমস্যাটি হ'ল আমি httpsএন্ডপয়েন্টটি কল করেছিলাম http


1

প্রথম জিনিসটি আমরা চেষ্টা করেছি আইআইএস-এর জন্য গতিশীল বিষয়বস্তু সংক্ষেপণ অক্ষম করা, যা ত্রুটিগুলি সমাধান করেছিল তবে ত্রুটিটি সার্ভারের পক্ষে তৈরি হয়নি এবং কেবলমাত্র একটি ক্লায়েন্ট এটি দ্বারা প্রভাবিত হয়েছিল।

ক্লায়েন্টের পক্ষে আমরা ভিপিএন ক্লায়েন্টদের আনইনস্টল করেছি, ইন্টারনেট সেটিংস রিসেট করে এবং তারপরে ভিপিএন ক্লায়েন্টদের পুনরায় ইনস্টল করেছি। আগের অ্যান্টিভাইরাসটিতে ফায়ারওয়াল থাকার কারণে ত্রুটিটিও ঘটতে পারে। তারপরে আমরা গতিশীল বিষয়বস্তু সংক্ষেপণটিকে সক্ষম করেছি এবং এখন এটি আগের মতো দুর্দান্ত কাজ করে।

কাস্টম অ্যাপ্লিকেশনে ত্রুটি উপস্থিত হয়েছিল যা একটি ওয়েব পরিষেবায় এবং টিএফএসে সংযুক্ত হয়।


0

আমার ক্ষেত্রে আইআইএসের প্রাসঙ্গিক এএসপিএক্স পাথ অ্যাক্সেস করার প্রয়োজনীয় অনুমতি ছিল না।

আমি সম্পর্কিত ডিরেক্টরিতে আইআইএস ব্যবহারকারীর অনুমতিগুলি দিয়েছি এবং সব ঠিক আছে।


0

আপনার কোডটি দেখুন এবং আপনি NULL বা খালি মান সহ কিছু শিরোনাম সেট করছেন কিনা তা সন্ধান করুন।


0

আমি আমার পিএইচপি জেএসএন / আরইএসটি পরিষেবাগুলি থেকে এই ত্রুটি পেতে শুরু করেছি

আমি ob_start("ob_gzhandler")প্রায়শই অ্যাক্সেস করা জিইটি পিএইচপি স্ক্রিপ্টে যুক্ত করার পরে রিলেটিভলি বিরল পোষ্ট আপলোডগুলি থেকে ত্রুটি পাওয়া শুরু করি

আমি ন্যায়সঙ্গত ব্যবহার করতে সক্ষম ob_start(), এবং সবকিছু ঠিক আছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.