Node.js中如何实现详细的HTTP请求过程和功能总结?
- 内容介绍
- 文章标签
- 相关推荐
本文共计480个文字,预计阅读时间需要2分钟。
Node.js HTTP请求相关总结:通过Node.js提供的http模块,可以使用get()和request()两个方法发起HTTP请求。get()是request()方法的封装,方便快速发起GET请求。若需实现POST请求,则需要对r进行相应的处理。
nodejs www.baidu.com", (res) =>{
console.log(res.statusCode);
});
req.end();//必须调用end()方法结束请求
需要注意的是,使用request()方法发起www.baidu.com", (res) =>{
console.log(res.statusCode);
});
req.end();//必须调用end()方法结束请求
request()的第一个参数可以是一个请求数据配置对象,第二个参数为一个请求完成收到服务器响应后的回调函数,回调函数的参数只有一个即响应对象res
let req = www.baidu.com", (res) =>{
console.log(res.statusCode);
});
get()方法发起www.baidu.com", (res) =>{
console.log(res.statusCode);
});
req.setTimeout(1,()=>{
console.log(`请求超时了`);
req.abort();//终止请求
});
1毫秒之后如果还没收到响应,那么就会触发setTimeout的回调函数,此时可以直接终止请求。 2. 也可以自己设立一个定时器来实现,如:
let requestTimer = null;
let req = www.baidu.com", (res) =>{
console.log(res.statusCode);
if(res.statusCode === 200){
clearTimeout(requestTimer);//请求超时之前完成,清除超时定时器
}
});
requestTimer = setTimeout(() => {
req.emit("timeout", {"msg": "请求超时了"});//如果请求超时了则发送timeout事件
}, 1000);
req.on("timeout",(msg) => {//监听timeout事件并终止请求
console.log(`收到timeout事件!`);
req.abort();
console.log(`终止请求`);
});
获取响应数据 get()和request()方法回调函数中的响应对象res中并不携带响应数据,如果要获取响应数据,那么需要通过响应对象去监听data和end事件来获取。
let req = www.baidu.com", (res) =>{
let resStr = "";
res.on("data", (res) => {
resStr += res;
});
res.on("end", () => {
console.log(resStr);
});
});
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。
本文共计480个文字,预计阅读时间需要2分钟。
Node.js HTTP请求相关总结:通过Node.js提供的http模块,可以使用get()和request()两个方法发起HTTP请求。get()是request()方法的封装,方便快速发起GET请求。若需实现POST请求,则需要对r进行相应的处理。
nodejs www.baidu.com", (res) =>{
console.log(res.statusCode);
});
req.end();//必须调用end()方法结束请求
需要注意的是,使用request()方法发起www.baidu.com", (res) =>{
console.log(res.statusCode);
});
req.end();//必须调用end()方法结束请求
request()的第一个参数可以是一个请求数据配置对象,第二个参数为一个请求完成收到服务器响应后的回调函数,回调函数的参数只有一个即响应对象res
let req = www.baidu.com", (res) =>{
console.log(res.statusCode);
});
get()方法发起www.baidu.com", (res) =>{
console.log(res.statusCode);
});
req.setTimeout(1,()=>{
console.log(`请求超时了`);
req.abort();//终止请求
});
1毫秒之后如果还没收到响应,那么就会触发setTimeout的回调函数,此时可以直接终止请求。 2. 也可以自己设立一个定时器来实现,如:
let requestTimer = null;
let req = www.baidu.com", (res) =>{
console.log(res.statusCode);
if(res.statusCode === 200){
clearTimeout(requestTimer);//请求超时之前完成,清除超时定时器
}
});
requestTimer = setTimeout(() => {
req.emit("timeout", {"msg": "请求超时了"});//如果请求超时了则发送timeout事件
}, 1000);
req.on("timeout",(msg) => {//监听timeout事件并终止请求
console.log(`收到timeout事件!`);
req.abort();
console.log(`终止请求`);
});
获取响应数据 get()和request()方法回调函数中的响应对象res中并不携带响应数据,如果要获取响应数据,那么需要通过响应对象去监听data和end事件来获取。
let req = www.baidu.com", (res) =>{
let resStr = "";
res.on("data", (res) => {
resStr += res;
});
res.on("end", () => {
console.log(resStr);
});
});
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

