Node.js POST 受信 - node.jsのHTTP POSTリクエストはどのように行われるのですか?

node.js httpリクエスト / node.js / http / post / httprequest

node.jsで、データを含む送信用のHTTP POSTリクエストを行うにはどうすればよいですか?

Adam Grant



Answer #1
var https = require('https');


/** * HTTP 呼び出しを行う方法 - POST */
// POST リクエストを行う
// JSON オブジェクトを作成します
jsonObject = JSON.stringify({
    "message" : "The web of things is approaching, let do some tests to be ready!",
    "name" : "Test message posted with node.js",
    "caption" : "Some tests with node.js",
    "link" : "http://www.youscada.com",
    "description" : "this is a description",
    "picture" : "http://youscada.com/wp-content/uploads/2012/05/logo2.png",
    "actions" : [ {
        "name" : "youSCADA",
        "link" : "http://www.youscada.com"
    } ]
});

// ヘッダーを準備する
var postheaders = {
    'Content-Type' : 'application/json',
    'Content-Length' : Buffer.byteLength(jsonObject, 'utf8')
};

// 投稿オプション
var optionspost = {
    host : 'graph.facebook.com',
    port : 443,
    path : '/youscada/feed?access_token=your_api_key',
    method : 'POST',
    headers : postheaders
};

console.info('Options prepared:');
console.info(optionspost);
console.info('Do the POST call');

// POST 呼び出しを行う
var reqPost = https.request(optionspost, function(res) {
    console.log("statusCode: ", res.statusCode);
    // ヘッダーの詳細についてはコメントを外します
//  console.log("headers: ", res.headers);

    res.on('data', function(d) {
        console.info('POST result:\n');
        process.stdout.write(d);
        console.info('\n\nPOST completed');
    });
});

// json データを書き込む
reqPost.write(jsonObject);
reqPost.end();
reqPost.on('error', function(e) {
    console.error(e);
});