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 EasyUI API 中文文档 - Form表单
Oct 06 Javascript
jquery checkbox实现单选小例
Nov 27 Javascript
js监控IE火狐浏览器关闭、刷新、回退、前进事件
Jul 23 Javascript
JS中改变this指向的方法(call和apply、bind)
Mar 26 Javascript
JavaScript 冒泡排序和选择排序的实现代码
Sep 03 Javascript
javascript之with的使用(阿里云、淘宝使用代码分析)
Oct 11 Javascript
JS实现自定义弹窗功能
Aug 08 Javascript
JavaScript使用递归和循环实现阶乘的实例代码
Aug 28 Javascript
微信小程序云开发修改云数据库中的数据方法
May 18 Javascript
layui实现数据表格点击搜索功能
Mar 26 Javascript
Vue两种组件类型:递归组件和动态组件的用法
Aug 06 Javascript
了不起的11个JavaScript代码重构最佳实践小结
Jan 11 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
虹吸壶是谁发明的?煮出来的咖啡好喝吗
2021/03/04 冲泡冲煮
php json中文编码为null的解决办法
2016/12/14 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
2017/02/07 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
JS(jQuery)实现聊天接收到消息语言自动提醒功能详解【提示“您有新的消息请注意查收”】
2019/04/16 PHP
PHP const定义常量及global定义全局常量实例解析
2020/05/28 PHP
addRule在firefox下的兼容写法
2006/11/30 Javascript
js left,right,mid函数
2008/06/10 Javascript
Js 刷新框架页的代码
2010/04/13 Javascript
基于jquery的从一个页面跳转到另一个页面的指定位置的实现代码(带平滑移动的效果)
2011/05/24 Javascript
JavaScript 判断浏览器是否支持SVG的代码
2013/03/21 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
2013/08/28 Javascript
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
JavaScript删除指定子元素代码实例
2015/01/13 Javascript
微信小程序入门教程
2016/11/18 Javascript
Angular4的输入属性与输出属性实例详解
2017/11/29 Javascript
微信小程序使用蓝牙小插件
2019/09/23 Javascript
vue分页插件的使用方法
2019/12/25 Javascript
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
2020/05/08 Javascript
在Vue中使用mockjs代码实例
2020/11/25 Vue.js
[52:03]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第三场 1月31日
2021/03/11 DOTA
python获得文件创建时间和修改时间的方法
2015/06/30 Python
在Python的Django框架中更新数据库数据的方法
2015/07/17 Python
使用tensorflow实现线性回归
2018/09/08 Python
Python小程序之在图片上加入数字的代码
2019/11/26 Python
keras实现基于孪生网络的图片相似度计算方式
2020/06/11 Python
CSS3地图动态实例代码(圆圈向外扩散)
2018/06/15 HTML / CSS
HTML5 新旧语法标记对我们有什么好处
2012/12/13 HTML / CSS
css 如何让背景图片拉伸填充避免重复显示
2013/07/11 HTML / CSS
世界上最大的艺术和工艺用品商店:MisterArt.com
2018/07/13 全球购物
自我鉴定模板
2013/10/29 职场文书
给排水工程师岗位职责
2013/11/21 职场文书
竞选卫生委员演讲稿
2014/04/28 职场文书
在职人员跳槽求职信
2015/03/20 职场文书
单位更名证明
2015/06/18 职场文书
python中os.path.join()函数实例用法
2021/05/26 Python