【问题标题】:Nodejs DNS reverse module always return 0.0.0.0?Nodejs DNS反向模块总是返回0.0.0.0?
【发布时间】:2020-06-27 14:12:01
【问题描述】:

您好,我使用以下代码从 IP 地址反向查找主机名。

dns.reverse('172.217.25.4', (err, hostnames) => {
            console.log("hostname",hostnames)
        })

但无论我使用什么 ip 地址,它总是在控制台日志中返回 0.0.0.0:

我不知道发生了什么。谁能告诉我我做错了什么?

提前谢谢你。

这是完整的代码:

import React, { Component, Fragment } from 'react';
import { Popover } from 'antd';

const dns = require('dns');

export default class Popdomain extends Component {

    state={
        domains: [],
    }
    componentDidMount(){
        this.rdns(this.props.ipProp);
    }

    rdns (ip){
        dns.reverse(ip, (err, domains)=>{
            this.setState({domains:domains});
            console.log("ipProp:",ip);
            console.log("domains: ",domains);
        })
    }

    render(){

        var content = (
            <p>{this.state.domains}</p>
        );

        return(
            <Fragment>
                <Popover content={content} title="Domain">
                    {this.props.children}
                </Popover>
            </Fragment>
        )
    }
}

在我的控制台中,它显示如下:

ipProp: 129.94.110.163
domains:  0.0.0.0
ipProp: 129.94.248.108
domains:  0.0.0.0
ipProp: 129.94.213.38
domains:  0.0.0.0

【问题讨论】:

  • 对我来说非常好用。我可以知道您使用的是哪个 nodejs 版本吗?主机名 ['hkg07s24-in-f4.1e100.net']
  • @ShreeramK 嗨,我实际上使用需要“dns”模块并在 reactjs 中使用反向函数

标签: node.js reactjs dns


【解决方案1】:

所有 dns 操作都返回 0.0.0.0 的原因是 Node DNS 模块是服务器端模块,而 ReactJS 是客户端。

您要么必须找到支持 DNS 查找的客户端库,要么从 React 向您的服务器发出请求,在那里进行 DNS 查找并返回结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 2019-06-09
    • 1970-01-01
    • 2014-03-27
    • 1970-01-01
    • 2020-06-13
    相关资源
    最近更新 更多