富贵资源网 Design By www.hznty.com
在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请求批量检查文件中的网页地址、服务是否有效可用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
富贵资源网 Design By www.hznty.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
富贵资源网 Design By www.hznty.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。