npm request或https模块哪个更好

时间:2018-06-28 14:59:39

标签: node.js

我必须在我的项目中使用上述模块中的任何一个来使用rest api。我需要知道哪个在性能方面会更好。我已经通过谷歌,但找不到任何令人满意的答案。我将处理HTTPS-PUT,GET,POST,DELETE方法。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

HTTPS模块具有很少的功能,但是在 REQUEST 程序包中也可以使用相同的功能。

请求被设计为进行http调用的最简单方法。它支持HTTPS并默认遵循重定向。

我建议您使用 REQUEST 模块。因为:(我会列出一些功能)

1。承诺和异步/等待

request本身就支持流接口和回调接口。如果您希望请求返回一个Promise,则可以使用替代接口包装程序进行请求。如果您更喜欢使用Promises,或者您想在ES2017中使用async / await,这些包装器将非常有用。

请求团队提供了多个备用接口,包括:

请求承诺(使用Bluebird承诺) request-promise-native(使用本地Promises) 请求-承诺-任何(使用任何承诺的承诺)

2。表格

请求支持application / x-www-form-urlencoded和multipart / form-data表单上传。有关多部分/相关内容,请参阅多部分API。

3。自定义HTTP标头

HTTP标头,例如User-Agent,可以在options对象中设置。在下面的示例中,我们调用github API来查找请求存储库的星号和分叉数。这需要一个自定义的User-Agent标头和https。

4。 OAuth签名

OAuth 1.0版受支持。默认的签名算法是HMAC-SHA1

5。代理

如果您指定代理选项,那么请求(以及所有后续重定向)将通过连接发送到代理服务器。

如果您的端点是https URL,并且您正在使用代理,则请求将首先向代理服务器发送CONNECT请求,然后使用提供的连接来连接到端点。

我并不是说HTTP本身是不好的,还是功能不那么强大,请求模块使用 HTTP ,只是它更方便易用。