本地执行 Google: https 请求失败
Local Execution Google: https request failed
目标
确保我的请求信息安全。
环境:
库:版本
节点获取:2.6.0
https : 似乎在节点中本地实现
节点:12.15.0
设备:版本
- Google home nest mini : 2代
问题
当我收到关于 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.
目标
确保我的请求信息安全。
环境:
库:版本
节点获取:2.6.0
https : 似乎在节点中本地实现
节点:12.15.0
设备:版本
- Google home nest mini : 2代
问题
当我收到关于 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.