NodeJs 获取网页内容 http.get 默认请求超时过长了,程序要卡死好一会。
根据网上资料现改造了一个带超时设置的获取网页内容方法。
主要方法使用 setTimeout 来超时,
代码如下:
// 获取指定网页,返回HTML function getUrlHtml(url, fn_success, fn_error, timeout) { timeout = timeout || 2000; var timeEvent; var req = http.get(url, function(res){ var html = ''; res.setEncoding('utf-8'); res.on('data' , function(d){ window.clearTimeout(timeEvent); html += d; }).on('end', function(){ window.clearTimeout(timeEvent); //var dom = jq(html); return fn_success(html); }).on('error', function(err){ window.clearTimeout(timeEvent); fn_error(err); }); }).on('error', function(err){ window.clearTimeout(timeEvent); fn_error(err); }); timeEvent = window.setTimeout(function(){ fn_error('time out!'); req.abort(); }, timeout); } // 使用 getUrlHtml('http://www.xxx.com', function(html){ console.log(html); }, function(err){ console.log(err); }, 1000);
欢迎转载,转载请注明:转载自[ http://www.cnblogs.com/zjfree/ ]
分类:
NodeJS
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
2012-09-07 C# 拷贝文件夹
2012-09-07 windows服务操作 sc批处理