2012-05-17 16 views
7

भेज रहा टेलनेट उपयोग कर रहा हूँ एक http अनुरोध भेजने के लिए, इस तरह:टेलनेट एक http अनुरोध

telnet> open 192.168.4.135 8087 
Trying 192.168.4.135... 
Connected to 192.168.4.135. 
Escape character is '^]'. 
POST /rpc/ HTTP/1.1 
HOST:192.168.4.135:8087 
Content-length:18 
Content-type:application/x-http-form-urlencoded 

action=loadrsctype 
HTTP/1.1 200 OK 
Date: Thu, 17 May 2012 03:52:53 GMT 
Content-Length: 45 
Content-Type: text/html; charset=ISO-8859-1 

return=fail&error=Configuration doesn't existHTTP/1.1 400 Bad Request 
Content-Type: text/html 
Connection: close 
Date: Thu, 17 May 2012 03:52:53 GMT 
Content-Length: 94 

<HTML><HEAD> 
<TITLE>400 Bad Request</TITLE> 
</HEAD><BODY> 
<H1>Bad Request</H1> 
</BODY></HTML> 
Connection closed by foreign host. 

प्रतिक्रिया कोड 200 है, लेकिन क्यों वहाँ इस तरह एक पैरा है:

HTTP/1.1 400 Bad Request 
Content-Type: text/html 
Connection: close 
Date: Thu, 17 May 2012 03:52:53 GMT 
Content-Length: 94 

<HTML><HEAD> 
<TITLE>400 Bad Request</TITLE> 
</HEAD><BODY> 
<H1>Bad Request</H1> 
</BODY></HTML> 

यह सर्वर या टेलनेट का आउटपुट है? इसे दिखाने के लिए कैसे बचें?

- अपडेट - जब मैं "HTTP/1.1" को "http/1.1" में बदलता हूं, तो मुझे सही प्रतिक्रिया मिलती है। अब मुझे आश्चर्य है कि यह पहिया प्रोटोकॉल की आवश्यकता है या सर्वर के कार्यान्वयन से संबंधित है?

+0

ऐसा लगता है कि "200 ओके" प्रतिक्रिया की सामग्री "वापसी = असफल और त्रुटि = कॉन्फ़िगरेशन मौजूद नहीं है", इसलिए ऐसा नहीं लगता है कि यह बिल्कुल काम करता है। क्या आप वाकई यूआरएल ठीक है? –

+0

मुझे लगता है कि यूआरएल में कोई समस्या नहीं है। ऐसा लगता है कि दो प्रतिक्रियाएं हैं। पहला (वापसी = असफल और त्रुटि = कॉन्फ़िगरेशन मौजूद नहीं है) जो मैंने अपेक्षित था, लेकिन दूसरा नहीं है। –

उत्तर

0

यूआरएल आप तक पहुँच रहे हैं पर कोड कुछ पाठ प्रिंट कर रहा है:

return=fail&error=Configuration doesn't exist 

लेकिन फिर अपने कोड पर जारी है एक HTTP 400 त्रुटि मुद्रित करने के लिए। शायद आप प्रतिक्रिया प्रिंट करने के बाद निरस्त करना भूल गए हैं, और इसलिए आपका कोड HTTP 400 को प्रिंट करने के लिए भी चला जाता है।

+0

तो, मुझे सच में लगता है कि समस्या सर्वर है। –

+0

@ccsnailpp: हां, समस्या यह है कि सर्वर पर कोड में एक बग है। (क्षमा करें, मुझे लगता है कि यह आपका कोड सर्वर पर चल रहा था!) ​​ – Malvineous

+0

हाँ, यह होना चाहिए। सर्वर न तो अपाचे और न ही nginx है। यह हमारी टीम द्वारा लागू एक छोटा सर्वर है। –

-1

को &amp; के साथ बदलने का प्रयास करें।

5

HTTP 1.1 में, सभी कनेक्शन persistent पर अन्यथा घोषित किए जाने पर विचार किए जाते हैं।

तब ... मुझे लगता है कि सर्वर कुछ नकली न्यूलाइन चार प्राप्त कर रहा है और Bad Request के साथ उत्तर दे रहा है।

आप HTTP/1.1 के बजाय http/1.1 का उपयोग करते हैं संस्करण 1.0 कि डिफ़ॉल्ट रूप से लगातार नहीं है करने के लिए संस्करण वापस आने और 200 OK प्रतिक्रिया के बाद यह कनेक्शन चला जाता है बना सकते हैं।

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