node.js - 如何使用 Node.js 和 Express 设置 Google Domains 动态 DNS?

标签 node.js express dns

我已经在运行 Express 的 Raspberry Pi 上设置了一个 Node.Js 网站。

我想使用动态 DNS 从 Node.JS/Express 更新我的 Google DNS 域

我尝试过的:

function domainUpdate() {
    console.log(`[SERVER] Posting to Google's Servers...`)
    let username = process.env.USERNAME || ``;
    let password = process.env.PASSWORD || ``;
    let hostname = process.env.HOSTNAME || ``;
    let url = `https://${username}:${password}@domains.google.com/nic/update?hostname=${hostname}`;

    https.request(url, (res) => {
        console.log(`status - ${res.statusCode}`);
        console.log(`output - ${res.complete}`)
    }).on("error", (e) => {
        if (e) throw e
    })

使用curl命令,它看起来像这样:

curl https://$USERNAME:$PASSWORD@domains.google.com/nic/update?hostname=$HOSTNAME&myip=$IP_ADDRESS

除了“[SERVER] Posting to Google's Servers...”之外没有任何输出

最佳答案

给出类似 Axios 的内容尝试提出实际请求。它可以为您处理许多繁重的工作:

const axios = require('axios');

function domainUpdate() {
    console.log(`[SERVER] Posting to Google's Servers...`)
    let username = process.env.USERNAME || ``;
    let password = process.env.PASSWORD || ``;
    let hostname = process.env.HOSTNAME || ``;
    let url = `https://${username}:${password}@domains.google.com/nic/update?hostname=${hostname}`;

    axios.get(url)
    .then(res => {
      console.log(`status - ${res.status}`);
      console.log(`output - ${res.data}`);
    })
    .catch(err => {
      throw err;
    })
}

只要请求格式正确,端点就会返回 200。 Google support article您链接到的列表列出了可能的响应,这些响应将位于 Axios 响应对象的 data 属性中。

关于node.js - 如何使用 Node.js 和 Express 设置 Google Domains 动态 DNS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56436176/

相关文章:

javascript - 如何检查 node-cron 执行 cron-job 花费了多少时间

node.js - Node 事件.js :136 throw er; Unhandled 'error' event

node.js - 如何从hh :mm to hh:mm in mongoDB过滤两个时间之间的数据

mysql - 包含文件时 node.js 上的引用错误

javascript - 使用 Jade 的 :markdown filter? 时是否可以包含外部文件

javascript - 将函数导出到 app.js 时出现 NodeJS 错误

linux - dnssec-dsfromkey 显示未知算法错误

java - 国际化域名 -> UnknownHostException

iis - 拒绝从 RFC1918 IP 到公共(public)服务器地址的请求

javascript - 不和谐收集器 react 过滤器方式设置最大限制