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 相关文章推荐
jquery ajax方式直接提交整个表单核心代码
Aug 15 Javascript
JS父页面与子页面相互传值方法
Mar 05 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
Jun 16 Javascript
node.js中的path.sep方法使用说明
Dec 08 Javascript
基于Flowplayer打造一款免费的WEB视频播放器附源码
Sep 06 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
Jul 07 Javascript
AngularJS 模型详细介绍及实例代码
Jul 27 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
Oct 19 Javascript
js 性能优化之算法和流程控制
Feb 15 Javascript
详解VueJs中的V-bind指令
May 03 Javascript
使用async await 封装 axios的方法
Jul 09 Javascript
微信小程序功能之全屏滚动效果的实现代码
Nov 22 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将某个目录下面的所有文件罗列出来的方法详解
2013/06/21 PHP
PHP中对于浮点型的数据需要用不同的方法解决
2014/03/11 PHP
php封装好的人民币数值转中文大写类
2015/12/20 PHP
php-fpm服务启动脚本的方法
2018/04/27 PHP
PHP sdk文档处理常用代码示例解析
2020/12/09 PHP
js中escape对应的C#解码函数 UrlDecode
2012/12/16 Javascript
jquery监听div内容的变化具体实现思路
2013/11/04 Javascript
优化Jquery,提升网页加载速度
2013/11/14 Javascript
JS 获取鼠标左右键的键值方法
2014/10/11 Javascript
浅谈javascript中replace()方法
2015/11/10 Javascript
基于javascript编写简单日历
2016/05/02 Javascript
动态JavaScript所造成一些你不知道的危害
2016/09/25 Javascript
谈谈因Vue.js引发关于getter和setter的思考
2016/12/02 Javascript
对称加密与非对称加密优缺点详解
2017/02/06 Javascript
jQuery选择器_动力节点Java学院整理
2017/07/05 jQuery
JavaScript 基础表单验证示例(纯Js实现)
2017/07/20 Javascript
jQuery实现打开网页自动弹出遮罩层或点击弹出遮罩层功能示例
2017/10/19 jQuery
vue2.0获取鼠标位置的方法
2018/09/13 Javascript
JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例
2019/01/29 Javascript
vue2.x数组劫持原理的实现
2020/04/19 Javascript
记一次用ts+vuecli4重构项目的实现
2020/05/21 Javascript
Python基础之函数用法实例详解
2014/09/10 Python
Python正则表达式如何进行字符串替换实例
2016/12/28 Python
Python代理IP爬虫的新手使用教程
2019/09/05 Python
Python2手动安装更新pip过程实例解析
2020/07/16 Python
python文件路径操作方法总结
2020/12/21 Python
用python制作个视频下载器
2021/02/01 Python
优秀党支部事迹材料
2014/01/14 职场文书
初二学习计划书范文
2014/04/27 职场文书
2015年女生节活动总结
2015/02/27 职场文书
龙猫观后感
2015/06/09 职场文书
运动会开幕式新闻稿
2015/07/17 职场文书
英语导游欢迎词
2015/09/30 职场文书
赞美教师的句子
2019/09/02 职场文书
Tomcat配置访问日志和线程数
2022/05/06 Servers
Go语言编译原理之变量捕获
2022/08/05 Golang