首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用Node.js & express设置Google域动态域名?

如何用Node.js & express设置Google域动态域名?
EN

Stack Overflow用户
提问于 2019-06-04 09:03:58
回答 1查看 504关注 0票数 1

我已经在我的树莓派上建立了一个Node.Js网站。

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

我所尝试的:

代码语言:javascript
复制
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...“之外,没有输出。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-08 20:39:18

尝试像Axios这样的东西来发出实际的请求。它为您处理了大量繁重的工作:

代码语言:javascript
复制
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 response对象的data属性中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56436176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档