반응형
http post 요청의 요청 페이로드에 json 데이터를 전달하는 방법
payload에서 json 요청을 전달하는 방법을 알고 싶습니다. 예를 들어 다음과 같습니다.{'name' : 'test', 'value' : 'test'}
:
var post_data = {};
var post_options = {
host: this._host,
path: path,
method: 'POST',
headers: {
Cookie: "session=" + session,
'Content-Type': 'application/json',
'Content-Length': post_data.length,
}
};
// 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();
요청 모듈 사용
npm install -S request
var request = require('request')
var postData = {
name: 'test',
value: 'test'
}
var url = 'https://www.example.com'
var options = {
method: 'post',
body: postData,
json: true,
url: url
}
request(options, function (err, res, body) {
if (err) {
console.error('error posting json: ', err)
throw err
}
var headers = res.headers
var statusCode = res.statusCode
console.log('headers: ', headers)
console.log('statusCode: ', statusCode)
console.log('body: ', body)
})
이걸 해봤는데 효과가 있는 것 같아요.기본적인 인증이 필요했기 때문에 auth를 포함했습니다.필요없으시면 폐기하셔도 됩니다.
var value = {email:"",name:""};
var options = {
url: 'http://localhost:8080/doc/',
auth: {
user: username,
password: password
},
method :"POST",
json : value,
};
request(options, function (err, res, body) {
if (err) {
console.dir(err)
return
}
console.dir('headers', res.headers)
console.dir('status code', res.statusCode)
console.dir(body)
});
문자열로 변환해서 보내시면 됩니다.
post_req.write(JSON.stringify(post_data));
언급URL : https://stackoverflow.com/questions/16188137/how-should-i-pass-json-data-in-the-request-payload-of-http-post-request
반응형
'programing' 카테고리의 다른 글
카테고리를 제품 woocomme로 설정하는 방법 (0) | 2023.03.17 |
---|---|
각도 테스트JS는 Jasmine 2.0에서 약속 (0) | 2023.03.12 |
X-Sendfile 헤더가 작동하는지 테스트합니다. (0) | 2023.03.12 |
AngularJS - 커스텀 디렉티브에서 ngModel 값을 변경하는 방법 (0) | 2023.03.12 |
@TestPropertySource는 봄 1.2.6의 AnnotationConfigContextLoader를 사용한 JUnit 테스트에서 작동하지 않습니다. (0) | 2023.03.12 |