使用Node发出HTTP POST请求

了解如何使用Node发出HTTP POST请求

有多种方法可以在Node中执行HTTP POST请求,具体取决于您要使用的抽象级别。

使用Node执行HTTP请求的最简单方法是使用Axios库

const axios = require('axios')

axios .post(’/todos’, { todo: ‘Buy the milk’, }) .then((res) => { console.log(statusCode: </span><span style="color:#e6db74">${</span><span style="color:#a6e22e">res</span>.<span style="color:#a6e22e">statusCode</span><span style="color:#e6db74">}</span><span style="color:#e6db74">) console.log(res) }) .catch((error) => { console.error(error) })

另一种方法是使用请求库

const request = require('request')

request.post( ‘/todos’, { json: { todo: ‘Buy the milk’, }, }, (error, res, body) => { if (error) { console.error(error) return } console.log(statusCode: </span><span style="color:#e6db74">${</span><span style="color:#a6e22e">res</span>.<span style="color:#a6e22e">statusCode</span><span style="color:#e6db74">}</span><span style="color:#e6db74">) console.log(body) } )

到目前为止突出显示的2种方式都需要使用第三方库。

POST请求仅使用Node标准模块是可能的,尽管它比前面两个选项更冗长:

const https = require('https')

const data = JSON.stringify({ todo: ‘Buy the milk’, })

const options = { hostname: yourwebsite.com, port: 443, path: ‘/todos’, method: ‘POST’, headers: { ‘Content-Type’: ‘application/json’, ‘Content-Length’: data.length, }, }

const req = https.request(options, (res) => { console.log(statusCode: </span><span style="color:#e6db74">${</span><span style="color:#a6e22e">res</span>.<span style="color:#a6e22e">statusCode</span><span style="color:#e6db74">}</span><span style="color:#e6db74">)

res.on(‘data’, (d) => { process.stdout.write(d) }) })

req.on(‘error’, (error) => { console.error(error) })

req.write(data) req.end()

免费下载我的Node.js手册


更多节点教程: