nodejs的http模块如何发送重定向
时间: 2024-07-19 18:00:50 浏览: 141
在Node.js中,`http`模块主要用于创建HTTP服务器,而处理HTTP请求和响应通常涉及到`https`模块更为合适,因为它支持HTTPS协议。如果你想通过`http`模块发送一个HTTP重定向(301或302状态码),你可以这样做:
```javascript
const http = require('http');
const options = {
hostname: 'example.com',
port: 80,
path: '/redirect',
method: 'GET', // 或者其他如'POST'等
headers: {
'Connection': 'close',
'Host': 'example.com',
// 添加Location头来指示重定向的位置
'Location': 'https://www.example.com/new-page'
}
};
// 创建一个request对象
const req = http.request(options, (res) => {
console.log(`statusCode: ${res.statusCode}`);
res.on('data', (d) => {
process.stdout.write(d);
});
});
req.on('error', (error) => {
console.error(`Problem with request: ${error.message}`);
});
// 发送请求
req.end();
```
在这个例子中,我们创建了一个HTTP GET请求,并设置了`Location`头来指示重定向的目标URL。当服务器响应时,它会自动跟随重定向。
阅读全文