gpt4 book ai didi

node.js - 为什么在 Electron 应用程序中发出 HTTPS 请求时会收到 `Error: write EPROTO`?

转载 作者:太空宇宙 更新时间:2023-11-03 22:14:25 27 4
gpt4 key购买 nike

我已经在这方面绞尽脑汁好几天了,所以我向 Stackoverflow 的聪明人寻求帮助。交易如下:

系统详细信息

  • Node 版本(由于 Electron 依赖项而无法更改):v4.1.1
  • Electron 版本:v0.34.3
  • 操作系统版本:Mac OSX Yosemite 10.10.5 (14F1021)

问题描述

我正在构建一个 Electron必须与我公司的应用程序服务器通信的应用程序。服务器连接必须通过 HTTPS。我正在使用 Node 的内置 https模块。当向服务器发出请求时,我收到以下错误:

{ [错误:写入 EPROTO]
代码:'EPROTO',
错误号:'EPROTO',
系统调用:'写',
地址:未定义}

我对此进行了大量的谷歌搜索,我发现的大多数内容都指向代理,但我没有使用代理。我尝试过以下方法:

  • 在选项哈希中设置 rejectUnauthorized: false
  • 修改 secureProtocol 选项(无结果)
  • 尝试设置--tls-cipher-list(不知道我在那里做什么)

我可以通过 curl 毫无问题地发出请求。不幸的是,我无法发布我所请求的实际 URL。

示例代码

这里有一些示例代码 (Coffeescript) 说明了该问题:

https = require 'https'

options = {
host: '[Application URL]'
path: '/'
method: 'GET'
port: 443
}

options.agent = new https.Agent(options)

callback = (response) ->
str = ''
console.log response
console.log "STATUS: #{response.statusCode}"
console.log "HEADERS: #{JSON.stringify(response.headers)}"
response.setEncoding 'utf-8'
response.on 'data', (chunk) -> str += chunk
response.on 'end', -> console.log str

makeRequest = ->
req = https.request options, callback
req.on 'error', (err) ->
console.log err
req.end()

makeRequest()

有谁知道可能导致此问题的原因吗?是Node的问题还是应用服务器的配置问题?这个错误正在杀死我并阻止我在工作中达到里程碑,所以任何帮助将不胜感激。谢谢!

最佳答案

要解决此问题,您需要设置 https 代理,可以使用以下命令来完成:

npm config set https-proxy http://proxy.example.com:8080

关于node.js - 为什么在 Electron 应用程序中发出 HTTPS 请求时会收到 `Error: write EPROTO`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33743044/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com