Node.JS发送http请求批量检查文件中的网页地址、服务是否有效可用


Posted in Javascript onNovember 20, 2019

在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请求批量检查文件中的网页地址、服务是否有效可用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
Feb 27 Javascript
jquery实现树形二级菜单实例代码
Nov 20 Javascript
jQuery时间轴插件使用详解
Jul 16 Javascript
jQuery xml字符串的解析、读取及查找方法
Mar 01 Javascript
限制只能输入数字的实现代码
May 16 Javascript
Three.js学习之网格
Aug 10 Javascript
JSON与String互转的实现方法(Javascript)
Sep 27 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
Dec 15 Javascript
node使用Mongoose类库实现简单的增删改查
Nov 08 Javascript
Nuxt.js 数据双向绑定的实现
Feb 17 Javascript
layui复选框限制选择个数的方法
Sep 18 Javascript
Vue.js计算机属性computed和methods方法详解
Oct 12 Javascript
详解Nuxt.js 实战集锦
Nov 19 #Javascript
javascript的delete运算符知识点总结
Nov 19 #Javascript
100行代码实现vue表单校验功能(小白自编)
Nov 19 #Javascript
Angular 多级路由实现登录页面跳转(小白教程)
Nov 19 #Javascript
nodemon实现Typescript项目热更新的示例代码
Nov 19 #Javascript
vue的三种图片引入方式代码实例
Nov 19 #Javascript
JS在Array数组中按指定位置删除或添加元素对象方法示例
Nov 19 #Javascript
You might like
聊天室php&mysql(六)
2006/10/09 PHP
php抓即时股票信息
2006/10/09 PHP
PHP mail 通过Windows的SMTP发送邮件失败的解决方案
2009/05/27 PHP
解析PHP计算页面执行时间的实现代码
2013/06/18 PHP
PHP生成sitemap.xml地图函数
2013/11/13 PHP
php统计文章排行示例
2014/03/04 PHP
php array_map()函数实例用法
2021/03/03 PHP
JavaScript 笔记二 Array和Date对象方法
2010/05/22 Javascript
jQuery的初始化与对象构建之浅析
2011/04/12 Javascript
JavaScript 判断日期格式是否正确的实现代码
2011/07/04 Javascript
ToolTips JQEURY插件之简洁小提示框效果
2011/11/19 Javascript
深入理解JavaScript系列(2) 揭秘命名函数表达式
2012/01/15 Javascript
js仿百度贴吧验证码特效实例代码
2014/01/16 Javascript
jQuery性能优化技巧分析
2015/02/20 Javascript
jquery实现简单的表单验证
2015/11/17 Javascript
javascript日期格式化方法小结
2015/12/17 Javascript
微信小程序 图片等比例缩放(图片自适应屏幕)
2016/11/16 Javascript
JavaScript通过filereader接口读取文件
2017/05/10 Javascript
vue组件实现弹出框点击显示隐藏效果
2020/10/26 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
2018/12/10 jQuery
Python爬取京东的商品分类与链接
2016/08/26 Python
Python装饰器语法糖
2019/01/02 Python
python画图把时间作为横坐标的方法
2019/07/07 Python
Django自带日志 settings.py文件配置方法
2019/08/30 Python
python 字典访问的三种方法小结
2019/12/05 Python
Keras之自定义损失(loss)函数用法说明
2020/06/10 Python
美国学校用品、教室和教学商店:Discount School Supply
2018/04/04 全球购物
大学生求职信范文应怎么写
2014/01/01 职场文书
七一党建活动方案
2014/01/28 职场文书
年终总结会主持词
2014/03/25 职场文书
党员干部批评与自我批评反四风思想汇报
2014/09/21 职场文书
2014年向国旗敬礼活动总结
2014/09/27 职场文书
检讨书格式
2015/01/23 职场文书
房地产销售经理岗位职责
2015/02/02 职场文书
Python干货实战之八音符酱小游戏全过程详解
2021/10/24 Python
Mysql的Table doesn't exist问题及解决
2022/12/24 MySQL