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 相关文章推荐
让GoogleCode的SVN下的HTML文件在FireFox下正常显示.
May 25 Javascript
js实现广告漂浮效果的小例子
Jul 02 Javascript
jQuery实现的分子运动小球碰撞效果
Jan 27 Javascript
js基于cookie方式记住返回页面用法示例
May 27 Javascript
Node.js 文件夹目录结构创建实例代码
Jul 08 Javascript
AngularJS入门教程之模块化操作用法示例
Nov 02 Javascript
JS点击动态添加标签、删除指定标签的代码
Apr 18 Javascript
layui点击导航栏刷新tab页的示例代码
Aug 14 Javascript
JavaScript实用代码小技巧
Aug 23 Javascript
使用jquery Ajax实现上传附件功能
Oct 23 jQuery
vue+webpack dev本地调试全局样式引用失效的解决方案
Nov 12 Javascript
vue 查看dist文件里的结构(多种方式)
Jan 17 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
一个简单的MySQL数据浏览器
2006/10/09 PHP
smarty模板嵌套之include与fetch性能测试
2010/12/05 PHP
php+js iframe实现上传头像界面无跳转
2014/04/29 PHP
php命令行用法入门实例教程
2014/10/27 PHP
PHP面向对象之工作单元(实例讲解)
2017/06/26 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
Yii框架的redis命令使用方法简单示例
2019/10/15 PHP
jQuery制作效果超棒的手风琴折叠菜单
2015/04/03 Javascript
chrome调试javascript详解
2015/10/21 Javascript
详解堆的javascript实现方法
2016/11/29 Javascript
微信小程序中hidden不生效原因的解决办法
2017/04/26 Javascript
JavaScript该如何学习 怎样轻松学习JavaScript
2017/06/12 Javascript
js实现点击按钮复制文本功能
2020/07/20 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
2018/08/25 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
2019/01/19 Javascript
React+Antd+Redux实现待办事件的方法
2019/03/14 Javascript
Vue-input框checkbox强制刷新问题
2019/04/18 Javascript
微信小程序上传多图到服务器并获取返回的路径
2019/05/05 Javascript
js实现打字小游戏
2019/12/17 Javascript
Vue使用虚拟dom进行渲染view的方法
2019/12/26 Javascript
微信小程序仿通讯录功能
2020/04/09 Javascript
python中的五种异常处理机制介绍
2014/09/02 Python
实例分析python3实现并发访问水平切分表
2018/09/29 Python
python_opencv用线段画封闭矩形的实例
2018/12/05 Python
python编程进阶之类和对象用法实例分析
2020/02/21 Python
keras读取训练好的模型参数并把参数赋值给其它模型详解
2020/06/15 Python
Python面向对象多态实现原理及代码实例
2020/09/16 Python
计算机工程学院个人求职信
2013/10/05 职场文书
工程技术员岗位职责
2014/03/02 职场文书
2014年党员公开承诺践诺书
2014/03/25 职场文书
聘用意向书范本
2014/04/01 职场文书
大学生职业生涯规划大赛作品(精品)
2014/09/17 职场文书
安全生产警示教育活动总结
2015/05/09 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
2015年学校总务工作总结
2015/07/20 职场文书
九年级历史教学反思
2016/02/19 职场文书