请求承诺假设http,https

时间:2018-05-18 16:35:53

标签: node.js request-promise

在nodejs中,当我做一个假设http或https前缀的请求时,对于request-promise npm包有什么办法吗?那有什么选择吗?例如在jquery中,当你编写ajax请求时,就像那个&my; meawesomewebsite.xom / givemedata',jquery自己假设前缀为http或https,url变为' {{3 }}'或者' https://myawesomewebsite.xom/givemedata'根据所请求的服务器的支持或其他。 谢谢!

1 个答案:

答案 0 :(得分:0)

  

请求承诺npm包有什么办法,当我做一个假设http或https前缀的请求时?那有什么选择吗?

没有。该功能未内置于请求承诺中。它希望将完全限定的URL作为目标。在服务器端,浏览器端没有“默认值”,可能是因为浏览器在“页面”上下文中运行,提供了智能默认值,但服务器没有这样的默认上下文。

您可以为请求 - 承诺实现一个包装器,查看传入的任何URL,如果它以//为前缀,它会将其更改为您想要的默认协议。然后,您可以使用您的包装函数。

仅供参考,没有简单的方法可以提前确定目标服务器支持的协议。您必须知道要使用哪个协议,或者您必须实现一些尝试https的方案,如果失败,则尝试http,但这不会只是知道提前使用,这是适当的协议。