Deno 服务器 TLS 警报握手失败

时间:2021-04-05 18:54:27

标签: fetch tls1.2 deno

我刚刚安装了 deno 来尝试使用它。我想使用 fetch 函数来发布一些这样的数据:

async function post(url: string, data: FormData): Promise<Response> {
  const response = await fetch(url, {
    method: 'POST',
    body: data,
  });
  return response;
}

当我使用 deno run --allow-net main.ts 运行我的代码时出现此错误:

TLS alert received: Message {
    typ: Alert,
    version: TLSv1_2,
    payload: Alert(
        AlertMessagePayload {
            level: Fatal,
            description: HandshakeFailure,
        },
    ),
}
error: Uncaught (in promise) TypeError: error sending request for url (https://***********): error trying to connect: received fatal alert: HandshakeFailure
    at handleError (deno:core/core.js:186:12)
    at jsonOpParseResult (deno:core/core.js:356:9)
    at asyncHandle (deno:core/core.js:223:40)
    at Array.asyncHandlers.<computed> (deno:core/core.js:238:9)
    at handleAsyncMsgFromRust (deno:core/core.js:207:32)

但是,当我在命令行中使用 Curl 来发送数据时,它可以工作。

deno --version 给我:

deno 1.8.3 (release, x86_64-apple-darwin)
v8 9.0.257.3
typescript 4.2.2

为什么它适用于 Curl 而不适用于 deno ?我该如何解决这个问题

0 个答案:

没有答案