Node.js可以使用http
模块来发出HTTP请求。在循环中发出HTTP GET请求的一种常见方法是使用async/await
和for...of
循环结合使用。
首先,需要引入http
模块和https
模块(用于处理HTTPS请求)。然后,可以使用http.get()
或https.get()
方法发出GET请求,并通过回调函数处理响应。
下面是一个示例代码:
const http = require('http');
const https = require('https');
async function makeGetRequest(url) {
return new Promise((resolve, reject) => {
const protocol = url.startsWith('https') ? https : http;
protocol.get(url, (res) => {
let data = '';
res.on('data', (chunk) => {
data += chunk;
});
res.on('end', () => {
resolve(data);
});
}).on('error', (err) => {
reject(err);
});
});
}
async function sendGetRequests(urls) {
for (const url of urls) {
try {
const response = await makeGetRequest(url);
console.log(`Response from ${url}: ${response}`);
} catch (error) {
console.error(`Error while making GET request to ${url}: ${error}`);
}
}
}
const urls = [
'http://example.com',
'http://example.org',
'http://example.net'
];
sendGetRequests(urls);
在上面的示例中,makeGetRequest()
函数使用http.get()
或https.get()
方法发出GET请求,并返回一个Promise对象。sendGetRequests()
函数使用for...of
循环遍历URL列表,并使用await
关键字等待每个请求的响应。
请注意,上述示例中的代码仅用于演示目的,实际应用中可能需要处理更多的错误和异常情况。
推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云函数(SCF)。
领取专属 10元无门槛券
手把手带您无忧上云