本地执行 Google: https 请求失败

Local Execution Google: https request failed

目标

确保我的请求信息安全。

环境:

库:版本

设备:版本

问题

当我收到关于 api 使用 https 和自认证证书的请求时,我收到“无法获取”错误。

我尝试了什么:

1 - http 请求:它在 google 家用设备和我的本地机器上工作正常,

2 - https 请求:它适用于我的本地计算机,但不适用于 google 家庭设备。

我使用的代码:

import fetch from 'node-fetch';
import env from './configFile';
import https, { Agent } from 'https';

export default function get(): Promise<any> {
    const url = "https://api.url"; 
    const httpsAgent = new https.Agent({
        rejectUnauthorized: false,
    });

    const option = {
        method: 'get',
        headers: {
            Accept: 'application/json',
            'Content-Type': 'application/json',
            Authorization: 'Basic ' + btoa(env.login! + ':' + env.password!),
        },
        agent: httpsAgent,
    };

    return fetch(url, option)
        .then(res => {
            return res.json();
        })
        .catch(error => {
            throw new Error(error);
        });
}

这里我关闭了ssl认证验证。这是我稍后会更改的内容,因为它不安全,但至少我想无误地执行 https 请求。

我的错误

转到此 link:errors

重现错误

我做了一个完整的教程,如果你想重现错误:https://github.com/killvi/localExecutionHttpsError

在本教程中,我尝试在 google 上发出 https 请求,以检查我是否可以正确无误地执行此操作。所以与我的实现不完全相同。但如果它适用于 google,至少我会知道我的问题不是来自 google 家用设备中的 https 实现。

Google 回答了我的问题:

Currently, local execution apps can only use unencrypted HTTP/TCP/UDP to communicate locally to their devices. It has been requested that we enable TLS capabilities over the local channel to enable HTTPS and other standard encrypted transport methods.