Node.JS发送http请求批量检查文件中的网页地址、服务是否有效可用
程序员文章站
2022-04-06 13:22:56
在node.js中只需要几行代码就可以发送http请求,通过检查statuscode可以判断该网址服务是否有效。
如下代码:
var http = require('htt...
在node.js中只需要几行代码就可以发送http请求,通过检查statuscode可以判断该网址服务是否有效。
如下代码:
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() }
以上代码检查相对网址是否可用,需手动修改服务器地址和端口,使用以下代码可以检查完整地址的可用性。
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') /* 检查完整网址是否可用 */ 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(); } /* 检查相对网址是否可用,需修改服务器地址和端口 */ 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')
总结
以上所述是小编给大家介绍的node.js发送http请求批量检查文件中的网页地址、服务是否有效可用,希望对大家有所帮助
上一篇: nodemon实现Typescript项目热更新的示例代码
下一篇: 你看我像不像小三