Node.JS发送http请求批量检查文件中的网页地址、服务是否有效可用

 更新时间:2019年11月20日 09:28:40   作者:ourjs  
这篇文章主要介绍了Node.JS发送http请求批量检查文件中的网页地址、服务是否有效可用,本文通过实例代码文字说明给大家讲解的非常详细,需要的朋友参考下

在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请求批量检查文件中的网页地址、服务是否有效可用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • 详解nodejs express下使用redis管理session

    详解nodejs express下使用redis管理session

    本篇文章主要介绍了详解nodejs express下使用redis管理session ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-04-04
  • Mac OS X 系统下安装和部署Egret引擎开发环境

    Mac OS X 系统下安装和部署Egret引擎开发环境

    之前的文章,我们已经介绍了Windows 系统下安装和部署Egret的开发环境,那么,这篇文档中,我们主要介绍在Mac环境中安装Egret以及部署
    2014-09-09
  • Node多进程的实现方法

    Node多进程的实现方法

    我们都知道 Node.js 是以单线程的模式运行的,但它使用的是事件驱动来处理并发,这样有助于我们在多核 cpu 的系统上创建多个子进程,从而提高性能
    2022-08-08
  • node.js 中间件express-session使用详解

    node.js 中间件express-session使用详解

    这篇文章主要给大家介绍了node.js中间件express-session使用的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-05-05
  • 详解使用 Node.js 开发简单的脚手架工具

    详解使用 Node.js 开发简单的脚手架工具

    这篇文章主要介绍了详解使用 Node.js 开发简单的脚手架工具,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Puppeteer环境搭建的详细步骤

    Puppeteer环境搭建的详细步骤

    这篇文章主要介绍了Puppeteer环境搭建的详细步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • 详解express + mock让前后台并行开发

    详解express + mock让前后台并行开发

    这篇文章主要介绍了详解express + mock让前后台并行开发,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • 从一个爬虫开始ChatGPT的编程秀

    从一个爬虫开始ChatGPT的编程秀

    这篇文章主要为大家介绍了从一个爬虫开始ChatGPT的编程秀,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • node中socket.io的事件使用详解

    node中socket.io的事件使用详解

    这篇文章主要介绍了node中socket.io的事件使用详解,需要的朋友可以参考下
    2014-12-12
  • 使用nodejs中httpProxy代理时候出现404异常的解决方法

    使用nodejs中httpProxy代理时候出现404异常的解决方法

    下面小编就为大家带来一篇使用nodejs中httpProxy代理时候出现404异常的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08

最新评论