Request —— 让 Node.js http请求变得超简单

释放双眼,带上耳机,听听看~!

转自:http://www.voidcn.com/article/p-fjpfzkes-a.html

先前一直比较关注前端的东西,对后端了解较少。不过一直对Node.js比较感兴趣,去年12月还去参加了阿里的CNODE交流聚会。

以后希望通过这里的博客分享一些学习Node.js的笔记。一方面总结了自己的学习心得,另一方面也可以和大家一起分享交流。

嗯,大概就是这样子。

这篇就先介绍一个Node.js的模块——request。有了这个模块,http请求变的超简单。

Request —— 让 Node.js http请求变得超简单

使用超简单

Request使用超简单,同时支持https和重定向。

任何响应都可以输出到文件流。

反过来,也可以将文件传给PUT或POST请求。未提供header的情况下,会检测文件后缀名,在PUT请求中设置相应的content-type。

请求也可以pipe给自己。这种情况下会保留原content-type和content-length。

表单

request支持application/x-www-form-urlencoded和multipart/form-data实现表单上传。

x-www-form-urlencoded很简单:

或者:

使用multipart/form-data不用操心设置header之类的琐事,request会帮你解决。

HTTP认证

sendImmediately,默认为真,发送一个基本的认证header。设为false之后,收到401会重试(服务器的401响应必须包含WWW-Authenticate指定认证方法)。

sendImmediately为真时支持Digest认证。

OAuth登录

定制HTTP header

User-Agent之类可以在options对象中设置。在下面的例子中,我们调用github API找出某仓库的收藏数和派生数。我们使用了定制的User-Agent和https.

cookies

默认情况下,cookies是禁用的。在defaults或options将jar设为true,使后续的请求都使用cookie.

通过创建request.jar()的新实例,可以使用定制的cookie,而不是request全局的cookie jar。

或者

注意,setCookie至少需要三个参数,最后一个是回调函数。
项目主页
request的GitHub主页

给TA打赏
共{{data.count}}人
人已打赏
安全技术

加密算法

2021-8-18 16:36:11

安全技术

C++ 高性能服务器网络框架设计细节

2022-1-11 12:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索