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 相关文章推荐
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
Jan 16 Javascript
用js实现的抽象CSS圆角效果!!
May 03 Javascript
EasyUI中的tree用法介绍
Nov 01 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器
Jun 21 Javascript
node.js中的fs.lstatSync方法使用说明
Dec 16 Javascript
JS留言功能的简单实现案例(推荐)
Jun 23 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
Nov 25 Javascript
详解vue引入子组件方法
Feb 12 Javascript
JS实现马赛克图片效果完整示例
Apr 13 Javascript
详解微信小程序回到顶部的两种方式
May 09 Javascript
微信小程序tabBar设置实例解析
Nov 14 Javascript
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
Dec 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+ACCESS 文章管理程序代码
2010/06/21 PHP
PHP通过iconv将字符串从GBK转换为UTF8字符集
2011/07/18 PHP
PHP中source #N问题的解决方法
2014/01/27 PHP
PHP实现定时执行任务的方法
2014/10/05 PHP
PHP利用header跳转失效的解决方法
2014/10/24 PHP
解决laravel(5.5)访问public报错的问题
2019/10/12 PHP
php抽象方法和普通方法的区别点总结
2019/10/13 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
用Javascript数组处理多个字符串的连接问题
2009/08/20 Javascript
JS网页播放声音实现代码兼容各种浏览器
2013/09/22 Javascript
理解javascript中的回调函数(callback)
2014/09/02 Javascript
jQuery根据元素值删除数组元素的方法
2015/06/24 Javascript
滚动条的监听与内容随着滚动条动态加载的实现
2017/02/08 Javascript
js省市区级联查询(插件版&无插件版)
2017/03/21 Javascript
react-router JS 控制路由跳转实例
2017/06/15 Javascript
浅谈mint-ui loadmore组件注意的问题
2017/11/08 Javascript
微信小程序 Animation实现图片旋转动画示例
2018/08/22 Javascript
解决vue中修改了数据但视图无法更新的情况
2018/08/27 Javascript
js for终止循环 跳出多层循环
2018/10/04 Javascript
详解如何用typescript开发koa2的二三事
2018/11/13 Javascript
fastadmin中调用js的方法
2019/05/14 Javascript
详解JavaScript的this指向和绑定
2020/09/08 Javascript
Python中time模块和datetime模块的用法示例
2016/02/28 Python
python使用json序列化datetime类型实例解析
2018/02/11 Python
python中的TCP(传输控制协议)用法实例分析
2019/11/15 Python
python列表生成器迭代器实例解析
2019/12/19 Python
Python如何实现小程序 无限求和平均
2020/02/18 Python
Django之choices选项和富文本编辑器的使用详解
2020/04/01 Python
Python flask框架如何显示图像到web页面
2020/06/03 Python
div或img图片高度随宽度自适应的方法
2020/02/06 HTML / CSS
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
自荐信如何“自荐”
2013/10/24 职场文书
个人简历自荐信
2013/12/05 职场文书
九一八事变演讲稿
2014/09/05 职场文书
2014年党员自我评价材料
2014/09/22 职场文书
2016年员工政治思想表现评语
2015/12/02 职场文书