在Node.js中,无论是使用原生的http
模块还是第三方库如express
来处理HTTP请求,添加自定义请求头(如x-auth-token
)的方法都是类似的。以下是在不同情况下添加自定义请求头的示例:
http
模块const http = require('http');
const options = {
hostname: 'example.com',
port: 80,
path: '/api/data',
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-auth-token': 'your-auth-token-here'
}
};
const req = http.request(options, (res) => {
console.log(`STATUS: ${res.statusCode}`);
console.log(`HEADERS: ${JSON.stringify(res.headers)}`);
res.setEncoding('utf8');
res.on('data', (chunk) => {
console.log(`BODY: ${chunk}`);
});
});
req.on('error', (e) => {
console.error(`problem with request: ${e.message}`);
});
req.write(JSON.stringify({ key: 'value' }));
req.end();
express
框架如果你使用的是Express框架,可以在发送请求时通过req.getHeaders()
方法获取请求头,并添加自定义头:
const express = require('express');
const axios = require('axios');
const app = express();
app.post('/send-data', async (req, res) => {
try {
const response = await axios.post('http://example.com/api/data', req.body, {
headers: {
...req.getHeaders(),
'x-auth-token': 'your-auth-token-here'
}
});
res.send(response.data);
} catch (error) {
res.status(500).send(error);
}
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
x-auth-token
通常用于传递认证令牌。x-
开头,表示这是一个非标准的头。cors
中间件:cors
中间件:通过上述方法,你可以在Node.js中有效地添加和使用自定义请求头。
领取专属 10元无门槛券
手把手带您无忧上云