nodejs自带的请求方法--http.request
2017-10-19 15:10
211 查看
本文是接着前面的,用nodejs获取到本地文件的内容之后的操作。
当获取完本地文件的内容后,假设内容为相关的url链接,用ajax请求获取数据,这种方法是基于浏览器的,所以运行效率都是依赖于浏览器。
但是用nodejs也可以实现获取数据,并且是基于操作系统的,效率上远远超过浏览器方式。
本文使用的http.request()方法的API
下面来细说如何操作:
1.先声明一个通用方法来进行数据的请求
3.写一个主函数运行:
4.最后调用之前写的getContent()方法来获取要请求的请求头信息
nodeJS中大文件读写操作--Stream流
当获取完本地文件的内容后,假设内容为相关的url链接,用ajax请求获取数据,这种方法是基于浏览器的,所以运行效率都是依赖于浏览器。
但是用nodejs也可以实现获取数据,并且是基于操作系统的,效率上远远超过浏览器方式。
本文使用的http.request()方法的API
下面来细说如何操作:
1.先声明一个通用方法来进行数据的请求
var http=require("http"); //导入需要的http库 function HttpRequest(option,callback){ //option设置请求的请求头,callback请求数据回调函数 var con=''; //存放请求后的数据 var req=http.request(option,function(res){ //http。request方法用于获取数据 res.setEncoding('utf-8'); //设置响应字符集 var resListener=setTimeout(function(){ //添加响应监听,20s后没有响应信息返回自动结束响应,并返回空数据 res.destroy(); //结束响应 con=''; callback(con); },20000); res.on('data',function(chuck){ //响应返回数据,并接受 if(chuck) con+=chuck; }).on('end',function(){ //数据返回完毕 clearTimeout(resListener); callback(con); }); }); req.on('error',function(e){ //响应出错调用函数 console.log('错误为:'+e.message); }); req.write(''); //发送请求 req.end(); //结束请求 }2.写一个方法调用上面的方法:
function doEngine(data,callback){ var option={ //设置请求头信息 host:data.host, //域名 path:data.path, //资源地址 method:'GET', //请求方式 headers:{ //请求头信息 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36' } } HttpRequest(option,function(obj){ callback(obj); }); }
3.写一个主函数运行:
function run(data){ if(data){ //data= ....(data); 对数据进行适当的处理 doEngine(data,function(obj){ if(obj){ //对返回的数据进行相应的处理,不细说,根据实际情况而定 } }); } }
4.最后调用之前写的getContent()方法来获取要请求的请求头信息
nodeJS中大文件读写操作--Stream流
getContent(rs,run);
相关文章推荐
- AJAX(XMLHttpRequest)进行跨域请求方法详解(四)
- xmlhttprequest cannot load No 'Access-Control-Allow-Origin' AJAX跨域请求解决方法
- AJAX(XMLHttpRequest)进行跨域请求方法详解(三)
- AJAX(XMLHttpRequest)进行跨域请求方法详解(三)
- AJAX中同时发送多个请求XMLHttpRequest对象处理方法
- HTTP客户端之使用request方法向其他网站请求数据
- 用HttpWebRequest做POST请求时返回Http 417 错误解决方法
- NodeJs http.get 方法请求时间过长问题处理!
- Ajax核心XMLHttpRequest对象、(发送请求、接收)方法和属性介绍、AJAX开发框架、数据格式提要(XML、JSON、HTML)
- nodejs的http.request如何发送带参数的post请求?
- AJAX中同时发送多个请求XMLHttpRequest对象处理方法
- HttpServletResponse.sendRedirect方法实现的请求重定向与RequestDispatcher.forward方法实现的请求转发的总结比较
- AJAX(XMLHttpRequest)进行跨域请求方法详解(一)
- AJAX(XMLHttpRequest)进行跨域请求方法详解(一)
- HttpServletRequest、request常用方法、request常见应用、请求转发、RequestDispatcher
- SQL 2005 Report Server 请求因 HTTP 状态 400 失败: Bad Request 处理方法
- HttpServletRequest、request常用方法、request常见应用、请求转发、RequestDispatcher
- HttpServletRequest获取请求路径相关方法
- AJAX(XMLHttpRequest)进行跨域请求方法详解
- AJAX中同时发送多个请求XMLHttpRequest对象处理方法