728x90
반응형
질문 : node.js에서 HTTP POST 요청은 어떻게 이루어 집니까?
node.js에서 데이터와 함께 아웃 바운드 HTTP POST 요청을 만들려면 어떻게해야합니까?
답변
다음은 node.js를 사용하여 Google Compiler API에 POST 요청을하는 예입니다.
// We need this to build our post string
var querystring = require('querystring');
var http = require('http');
var fs = require('fs');
function PostCode(codestring) {
// Build the post string from an object
var post_data = querystring.stringify({
'compilation_level' : 'ADVANCED_OPTIMIZATIONS',
'output_format': 'json',
'output_info': 'compiled_code',
'warning_level' : 'QUIET',
'js_code' : codestring
});
// An object of options to indicate where to post to
var post_options = {
host: 'closure-compiler.appspot.com',
port: '80',
path: '/compile',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': Buffer.byteLength(post_data)
}
};
// Set up the request
var post_req = http.request(post_options, function(res) {
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log('Response: ' + chunk);
});
});
// post the data
post_req.write(post_data);
post_req.end();
}
// This is an async file read
fs.readFile('LinkedList.js', 'utf-8', function (err, data) {
if (err) {
// If this were just a small part of the application, you would
// want to handle this differently, maybe throwing an exception
// for the caller to handle. Since the file is absolutely essential
// to the program's functionality, we're going to exit with a fatal
// error instead.
console.log("FATAL An error occurred trying to read in the file: " + err);
process.exit(-2);
}
// Make sure there's data before we post it
if(data) {
PostCode(data);
}
else {
console.log("No data to post");
process.exit(-1);
}
});
하드 코딩 된 문자열 대신 파일에서 데이터를 게시하는 방법을 보여주기 위해 코드를 업데이트했습니다. fs.readFile
명령을 사용하여 성공적인 읽기 후 실제 코드를 게시합니다. 오류가 있으면 발생하고 데이터가 없으면 프로세스는 실패를 나타내는 음수 값으로 종료됩니다.
출처 : https://stackoverflow.com/questions/6158933/how-is-an-http-post-request-made-in-node-js
728x90
반응형
'개발관련 > other' 카테고리의 다른 글
Json.net으로 직렬화 할 때 속성 이름을 변경하는 방법 (0) | 2021.10.07 |
---|---|
Microsoft JSON 날짜 형식을 지정하는 방법 (0) | 2021.10.07 |
node.js 앱을 백그라운드 서비스로 실행하는 방법 (0) | 2021.10.05 |
Subversion에서 파일을 무시하는 방법 (0) | 2021.10.05 |
AngularJS : $ scope. $ apply () 호출시 $digest already in progress 오류 해결방법 (0) | 2021.10.01 |