在nodejs中,当我做一个假设http或https前缀的请求时,对于request-promise npm包有什么办法吗?那有什么选择吗?例如在jquery中,当你编写ajax请求时,就像那个&my; meawesomewebsite.xom / givemedata',jquery自己假设前缀为http或https,url变为' {{3 }}'或者' https://myawesomewebsite.xom/givemedata'根据所请求的服务器的支持或其他。 谢谢!
答案 0 :(得分:0)
请求承诺npm包有什么办法,当我做一个假设http或https前缀的请求时?那有什么选择吗?
没有。该功能未内置于请求承诺中。它希望将完全限定的URL作为目标。在服务器端,浏览器端没有“默认值”,可能是因为浏览器在“页面”上下文中运行,提供了智能默认值,但服务器没有这样的默认上下文。
您可以为请求 - 承诺实现一个包装器,查看传入的任何URL,如果它以//
为前缀,它会将其更改为您想要的默认协议。然后,您可以使用您的包装函数。
仅供参考,没有简单的方法可以提前确定目标服务器支持的协议。您必须知道要使用哪个协议,或者您必须实现一些尝试https
的方案,如果失败,则尝试http
,但这不会只是知道提前使用,这是适当的协议。