📮
Node.jsの標準モジュール(https)でPostする
CloudFunctionsなどFaaSを使うと、Node.jsからPostすることがあるかと思います。
(個人的には実行結果をSlackに投稿する時に必要でした)
そこで「Node.js Post」と検索すると、 request
モジュールを使った方法がいくつか出てきます。
ただこのモジュールはDeprecatedになっていて、今後のメンテナンスが行われないことが明言されています。
request
以外のモジュールを使う方法もいくつかありますが、今回は一番シンプルな標準モジュール(https)を使ったPost方法を紹介します。
import * as https from "https";
const data = JSON.stringify({
text: "text",
});
const options = {
method: "POST",
headers: {
"Content-Type": "application/json",
},
};
const url = POSTしたいURL
const request = https.request(url, options);
request.write(data);
request.end();
URLに対してJSONをPOSTしたい場合は、これだけのコードで実現出来ます。
レスポンスのStatusCodeを取得した場合は
const request = https.request(url, options, response => {
console.log(`statusCode: ${response.statusCode}`)
})
とすれば可能です。
標準モジュールを使うことは今後のメンテナンスコストを減らすことに繋がるので、簡単なPOSTをしたい場合はぜひ使ってみてくだい。
Discussion