NodeJSサーバーから外部サーバーにデータを送信する必要があります。私は多くのコードを試して、これを検索しましたが、適切な動作例が得られなかったり、私の場合は動作しません。ここでnodeJSから外部にデータを送信するにはどうすればよいですか?
は私のコードです:
app.get('/getFrom', function (req, res) {
var request = require('request');
// Try 1 - Fail
/*var options = {
url: 'http://example.com/synch.php',
'method': 'POST',
'body': {"nodeParam":"working"}
};
request(options, callback);
*/
// Try 2 - Fail
/* request({
// HTTP Archive Request Object
har: {
url: 'http://example.com/synch.php',
method: 'POST',
postData: {
params: [
{
nodeParam: 'working'
}
]
}
}
},callback)*/
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
console.log("body " + body); // Show the HTML for the Google homepage.
res.send(body);
}
else{
console.log("Error " + error);
res.send(error);
}
}
/* ------ HTTP ------ */
var postData = querystring.stringify({
'nodeParam' : 'Hello World!'
});
// try 3 - Fail
/*var optionsHTTP = {
hostname: 'http://example.com',
port: 80,
path: '/synch.php',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': Buffer.byteLength(postData)
}
};
var req1 = http.request(optionsHTTP, function(res1){
console.log('STATUS: ' + res1.statusCode);
console.log('HEADERS: ' + JSON.stringify(res1.headers));
res1.setEncoding('utf8');
res1.on('data', function(chunk){
console.log('BODY: ' + chunk);
});
res1.on('end', function(){
console.log('No more data in response.')
})
});
req1.on('error',function(e){
console.log('problem with request:' + e.message);
});
// write data to request body
req1.write(postData);
req1.end();*/
/* ------/HTTP ------ */
私はなぜ正確にあなたの要求が失敗した可能性がありますが、これは単純明快サンプルです
あなたの質問を簡素化します。あなたの試行の1つを選択し、コードを列挙して、それがなぜ失敗したのかを教えてください。どのようなエラーメッセージが表示されましたか? – MrWillihog
httpサーバを起動しましたか? [Express.js](http://expressjs.com/)を見てください。 – jhhayashi