Node.JS發(fā)送http請求批量檢查文件中的網(wǎng)頁地址、服務(wù)是否有效可用
在node.js中只需要幾行代碼就可以發(fā)送http請求,通過檢查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() }
以上代碼檢查相對網(wǎ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(); } /* 檢查相對網(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請求批量檢查文件中的網(wǎng)頁地址、服務(wù)是否有效可用,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
詳解nodejs express下使用redis管理session
本篇文章主要介紹了詳解nodejs express下使用redis管理session ,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-04-04Mac OS X 系統(tǒng)下安裝和部署Egret引擎開發(fā)環(huán)境
之前的文章,我們已經(jīng)介紹了Windows 系統(tǒng)下安裝和部署Egret的開發(fā)環(huán)境,那么,這篇文檔中,我們主要介紹在Mac環(huán)境中安裝Egret以及部署2014-09-09node.js 中間件express-session使用詳解
這篇文章主要給大家介紹了node.js中間件express-session使用的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-05-05使用nodejs中httpProxy代理時候出現(xiàn)404異常的解決方法
下面小編就為大家?guī)硪黄褂胣odejs中httpProxy代理時候出現(xiàn)404異常的解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08