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 相关文章推荐
VBScript版代码高亮
Jun 26 Javascript
javascript add event remove event
Apr 07 Javascript
jQuery动态添加、删除元素的方法
Jan 09 Javascript
node.js中的console.error方法使用说明
Dec 10 Javascript
利用jQuery实现CheckBox全选/全不选/反选的简单代码
May 31 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
Aug 05 Javascript
js实现登录验证码
Dec 22 Javascript
JavaScript实现简单的文本逐字打印效果示例
Apr 12 Javascript
详解javascript中的变量提升和函数提升
May 24 Javascript
jQuery中DOM操作原则实例分析
Aug 01 jQuery
JS实现图片懒加载(lazyload)过程详解
Apr 02 Javascript
原生js实现html手机端城市列表索引选择城市
Jun 24 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 之入门篇
2006/12/04 PHP
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
2010/10/12 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
PHP使用Pear发送邮件(Windows环境)
2016/01/05 PHP
php mysql实现mysql_select_db选择数据库
2016/12/30 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
2017/09/13 PHP
js表格分页实现代码
2009/09/18 Javascript
JQuery入门—编写一个简单的JQuery应用案例
2013/01/03 Javascript
js加强的经典分页实例
2013/03/15 Javascript
js读写(删除)Cookie实例详解
2013/04/17 Javascript
jQuery给指定的table动态添加删除行的操作方法
2016/10/12 Javascript
js实现移动端微信页面禁止字体放大
2017/02/16 Javascript
详解vue.js+UEditor集成 [前后端分离项目]
2017/07/07 Javascript
JS+canvas画一个圆锥实例代码
2017/12/13 Javascript
js装饰设计模式学习心得
2018/02/17 Javascript
nodejs中express入门和基础知识点学习
2018/09/13 NodeJs
Node.js 使用axios读写influxDB的方法示例
2018/10/26 Javascript
浅析Vue.js中v-bind v-model的使用和区别
2018/12/04 Javascript
基于vue框架手写一个notify插件实现通知功能的方法
2019/03/31 Javascript
vuejs实现下拉框菜单选择
2020/10/23 Javascript
[01:15:00]LGD vs Mineski Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
Python中矩阵库Numpy基本操作详解
2017/11/21 Python
Python模块WSGI使用详解
2018/02/02 Python
Python Web程序部署到Ubuntu服务器上的方法
2018/02/22 Python
在Python中将函数作为另一个函数的参数传入并调用的方法
2019/01/22 Python
Python3 执行系统命令并获取实时回显功能
2019/07/09 Python
浅析Windows 嵌入python解释器的过程
2019/07/26 Python
总经理司机职责
2014/02/02 职场文书
公证书标准格式
2014/04/10 职场文书
公关活动策划方案
2014/05/25 职场文书
机械设计及其自动化专业求职信
2014/06/09 职场文书
会计学毕业生求职信
2014/06/25 职场文书
合作协议书范文
2014/08/20 职场文书
党员学习中共十八大思想报告
2014/09/12 职场文书
2015年文员个人工作总结
2015/04/09 职场文书
Python通用验证码识别OCR库ddddocr的安装使用教程
2022/07/07 Python