二者区别:
- GET请求用url模块的parse方法解析request.url获取参数
- POST请求用request.on监听数据的接收,因为post数据是多段分发的,不像GET请求直接发送一段字符串,post数据是异步接收的,我们必须等到post数据接收完成之后再进行处理。
使用 Node.js 发送 HTTP 请求
1 执行 GET 请求
const https = require('https');
const options = {
hostname: 'nodejs.cn',
port: 443,
path: '/todos',
method: 'GET'
};
const req = https.request(options, res => {
console.log(`状态码: ${res.statusCode}`);
res.on('data', d => {
process.stdout.write(d);
});
});
req.on('error', error => {
console.error(error);
});
req.end();
2 执行 POST 请求
const https = require('https');
const data = JSON.stringify({
todo: '参照数'
});
const options = {
hostname: 'nodejs.cn',
port: 443,
path: '/todos',
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Content-Length': data.length
}
};
const req = https.request(options, res => {
console.log(`状态码: ${res.statusCode}`);
res.on('data', d => {
process.stdout.write(d);
});
});
req.on('error', error => {
console.error(error);
});
req.write(data);
req.end();