nodejs http请求相关的总结介绍


本文摘自PHP中文网,作者不言,侵删。

本篇文章给大家带来的内容是关于nodejs http请求相关的总结介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

通过node提供的http模块,可以通过其提供的get()和request()两个方法发起http请求,get()是对request()方法的封装,方便发起get请求,如果要实现post请求,那么需要对request()方法进行封装。

request()方法

1

2

3

4

let req = http.request("http://www.baidu.com", (res) =>{

    console.log(res.statusCode);

});

req.end();//必须调用end()方法结束请求

需要注意的是,使用request()方法发起http请求的时候,request()方法会返回一个请求对象,必须调用返回的请求对象的end()方法,表示请求动作已经完成,否则请求将会一直挂起,等待请求动作的完成。

request()方法参数问题:

request()的第一个参数可以直接是一个url地址,第二个参数为一个请求完成收到服务器响应后的回调函数,回调函数的参数只有一个即响应对象res

1

2

3

4

let req = http.request("http://www.baidu.com", (res) =>{

    console.log(res.statusCode);

});

req.end();//必须调用end()方法结束请求

request()的第一个参数可以是一个请求数据配置对象,第二个参数为一个请求完成收到服务器响应后的回调函数,回调函数的参数只有一个即响应对象res

1

2

3

4

let req = http.request({hostname:"www.baiduc.com",port:80}, (res) =>{

    console.log(res.statusCode);

});

req.end();//必须调用end()方法结束请求

需要注意的是,request()方法不能同时传递url地址和请求数据配置对象,只能二者选一个,也就是说request()方法只能传递两个参数

get()方法

1

2

3

let req = http.get("http://www.baidu.com", (res) =>{

    console.log(res.statusCode);

});

get()方法发起http请求的时候,get()方法也会返回一个请求对象,但是不用通过这个请求对象去调用end()方法,这一点和request()方法不同。

get()方法参数问题:

get()方法和request()方法的参数是一样的,就是不需要调用end()方法。

设置请求超时的方法

要设置请求超时,可以通过get()或者request()方法返回的请求对象setTimeout()方法来实现。

1

2

3

4

5

6

7

let req = http.get("http://www.baidu.com", (res) =>{

    console.log(res.statusCode);

});

 req.setTimeout(1,()=>{

     console.log(`请求超时了`);

     req.abort();//终止请求

 });

1毫秒之后如果还没收到响应,那么就会触发setTimeout的回调函数,此时可以直接终止请求。

阅读剩余部分

相关阅读 >>

了解node.js中的process对象

如何使用llama logs显示和调试nodejs错误?

node.js是什么?优势是什么?

mac和windows下如何使用nvm安装和管理多个版本的node.js?

浅谈 node.js 中间件的工作原理

node.js 安装配置

了解一下node.js中的文件夹写入

分享一个实用nodejs npm包:koa-csrf

nw.js是什么?

详解javascript是如何运行的

更多相关阅读请进入《HTTP》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...