请求承诺假设 http, https

request-promise assume http, https

在 nodejs 中,当我请求使用 http 或 https 前缀时,请求承诺 npm 包有什么方法吗?有什么选择吗?例如在 jquery 中,当你写一个 ajax 请求时,就像那个 '//myawesomewebsite.xom/givemedata' 一样,jquery 自己假设前缀 http 或 https 和url 根据请求的服务器的支持或其他什么变成 'https://myawesomewebsite.xom/givemedata' or 'http://myawesomewebsite.xom/givemedata'。 谢谢!

is there any way for the request-promise npm package, when i do a request to assume the http or https prefix ? Is there any option for that ?

没有。该功能未内置于请求承诺中。它期望完全合格的 URL 成为目标。在服务器端,没有像浏览器端那样的 "defaults",可能是因为浏览器在提供智能默认值的 "page" 上下文中运行,但服务器没有这样的默认值上下文。

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

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