2012-10-26 2 views
0

내용을 기준으로 요청 길이를 설정하는 방법은 무엇입니까? 예를 들어노드의 내용을 기반으로 요청 길이를 설정하십시오.

:

POST /Display HTTP/1.0 
Content-Type: application/json 
Content-Length: 125 

{"QueryReq": 
    { 
    "Tid": "Tid-123456", 
    "SessionId" : "1350711351232058820" 
    } 
} 

나는 콘텐츠 길이까지 여러 번 입력 눌러야 텔넷에서이 요청을 게시에 빈 덩어리가 서버에 수신입니다 125이다. 요청 내용을 기반으로 콘텐츠 길이를 자동으로 설정할 수있는 방법은 무엇입니까?

+0

Content-Length 헤더? – vinayr

+0

예. 게시 요청을 수행 – vinod

답변

1

설정 당신이 당신의 노드 서버에 POST 요청을하고있는

var data = querystring.stringify({ 
    "QueryReq": { "Tid": "Tid-123456", "SessionId" : "1350711351232058820" } 
}); 

var options = { 
    host: xxx, 
    port: xxx, 
    ---- 
    ---- 
    headers: { 
     'Content-Length': data.length 
    } 
}; 
+4

제발 data.length를 사용하지 마십시오, 나는이 문제에 부딪 혔고 저자는 data.length를 사용하지 말고 대신 Buffer.byteLength (data)를 사용합니다. 참조 질문 : http://stackoverflow.com/questions/18692580/node-js-post-causes-error-socket-hang-up-code-econnreset 및 ref 문제 : https://github.com/visionmedia/express/ issues/1749 –

+0

@NamNguyen이 맞습니다. 방금이 [버퍼 문제] (http://nodejs.org/api/http.html#http_response_writehead_statuscode_reasonphrase_headers)와 함께 오래되었습니다. 또한 길이를 설정할 필요도 없습니다. [ 'Content-length'헤더를 보내면 기본 청크 인코딩이 비활성화됩니다.] (http://nodejs.org/api/http.html#http_http_request_options_callback) –

관련 문제