You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NodeJS的HTTPS模块get方法是否可以同时发起HTTP与HTTPS请求?

关于Node.js HTTPS模块请求能力的疑问解答

你的假设完全错误,具体原因如下:

  • 前提的逻辑推导不成立:HTTPS模块确实在内部复用了HTTP模块的HTTP报文解析、请求生命周期管理等通用逻辑,但它的定位是专门处理TLS/SSL加密的HTTPS请求的独立模块,不会因为底层依赖HTTP模块就获得HTTP请求的发起能力。
  • 实际运行表现验证:使用https.get()发起HTTP请求时会直接报错:该方法默认走443端口,且会自动发起TLS握手流程,普通HTTP服务无法响应TLS握手,会直接中断连接,请求无法正常完成。
  • 原生Node.js中两类请求的发起方式是完全分离的:普通HTTP请求需要用http模块的http.get()方法发起,HTTPS请求才用https.get()发起。如果你需要同时兼容两种协议的请求,可以自行做协议判断后调用对应模块的方法,也可以使用上层封装的第三方请求库。

补充说明:如果需要在不手动判断协议的前提下发起请求,也可以使用Node.js v18后内置的全局fetch方法,它原生支持同时发起HTTP和HTTPS请求,不需要手动区分模块。

内容的提问来源于stack exchange,提问作者Sleepyhead.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 17:36:02