Node.JS發(fā)送http請(qǐng)求批量檢查文件中的網(wǎng)頁(yè)地址、服務(wù)是否有效可用
在node.js中只需要幾行代碼就可以發(fā)送http請(qǐng)求,通過(guò)檢查statusCode可以判斷該網(wǎng)址服務(wù)是否有效。
如下代碼:
var http = require('http')
var checkExists = function(urlPath, cb) {
var options = { host: '192.168.2.101', port: 8064, path: encodeURI(urlPath)}
var req = http.request(options, function(r) {
cb && cb(r.statusCode == 200);
})
req.end()
}
以上代碼檢查相對(duì)網(wǎng)址是否可用,需手動(dòng)修改服務(wù)器地址和端口,使用以下代碼可以檢查完整地址的可用性。
var http = require('http')
var url = require('url')
var checkUrlExists = function (Url, cb) {
var options = {
//method: 'HEAD',
host: url.parse(Url).host,
port: 80,
path: url.parse(Url).pathname
};
var req = http.request(options, function (r) {
cb && cb( r.statusCode == 200);
});
req.end();
}
搭配 fs 模塊,可以指解析文件中的地址是否可用,完整代碼如下:
var http = require('http')
var url = require('url')
var fs = require('fs')
/*
檢查完整網(wǎng)址是否可用
*/
var checkUrlExists = function (Url, cb) {
var options = {
//method: 'HEAD',
host: url.parse(Url).host,
port: 80,
path: url.parse(Url).pathname
};
var req = http.request(options, function (r) {
cb && cb( r.statusCode == 200);
});
req.end();
}
/*
檢查相對(duì)網(wǎng)址是否可用,需修改服務(wù)器地址和端口
*/
var checkExists = function(urlPath, cb) {
var options = { host: '192.168.2.101', port: 8064, path: encodeURI(urlPath)}
var req = http.request(options, function(r) {
cb && cb(r.statusCode == 200);
})
req.end()
}
var checkFile = function(filePath) {
fs.readFile(filePath, function(err, data) {
if (err) {
console.log(err)
return
}
var lines = data.toString().split(/[\r\n]+/)
var curr = 0
var urlPath
var checkNext = function(exist) {
if (curr > lines.length - 1) {
console.log('end')
return
}
//console.log(curr, 'exist', exist, urlPath)
if (!exist) {
console.log(curr, 'exist', exist, urlPath)
}
if (curr >= lines.lines) {
console.log('end')
return
}
urlPath = lines[curr++]
checkExists(urlPath, checkNext)
}
checkNext()
})
}
checkFile('./visit.csv')
總結(jié)
以上所述是小編給大家介紹的Node.JS發(fā)送http請(qǐng)求批量檢查文件中的網(wǎng)頁(yè)地址、服務(wù)是否有效可用,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
node使用require?mkdirp創(chuàng)建文件夾示例
這篇文章主要為大家介紹了node使用require?mkdirp創(chuàng)建文件夾示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
詳解Node.js中path模塊的resolve()和join()方法的區(qū)別
這篇文章主要介紹了詳解Node.js中path模塊的resolve()和join()方法的區(qū)別,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
Node.js API詳解之 assert模塊用法實(shí)例分析
這篇文章主要介紹了Node.js API詳解之 assert模塊用法,結(jié)合實(shí)例形式分析了Node.js API中assert模塊基本函數(shù)、功能、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-05-05

