代码之家  ›  专栏  ›  技术社区  ›  animuson Hemanshu

为什么我在检查DNS时会得到这样的随机结果?

  •  1
  • animuson Hemanshu  · 技术社区  · 14 年前

    代码如下:

    $domain = "fosajfjdkgdajfhsd.com";
    $check1 = checkdnsrr($domain, "MX");
    $check2 = checkdnsrr($domain, "A");
    $check3 = (checkdnsrr($domain, "MX") || checkdnsrr($domain, "A"));
    $check4 = !(checkdnsrr($domain, "MX") || checkdnsrr($domain, "A"));
    die("{$check1} - {$check2} - {$check3} - {$check4}");
    

    但是,当我检查输出以查看它返回的内容时,我得到了:

     - 1 - 1 - 
    

    域显然不存在,所以我不明白为什么检查A记录返回的是真的,而检查MX结果根本没有给我任何东西。我不明白这里出了什么问题。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Fred    14 年前
    $ dig fosajfjdkgdajfhsd.com
    
    ; <<>> DiG 9.6.0-APPLE-P2 <<>> fosajfjdkgdajfhsd.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39121
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
    
    ;; QUESTION SECTION:
    ;fosajfjdkgdajfhsd.com.     IN  A
    
    ;; ANSWER SECTION:
    fosajfjdkgdajfhsd.com.  0   IN  A   208.69.32.132
    
    ;; Query time: 121 msec
    ;; SERVER: 208.67.222.222#53(208.67.222.222)
    ;; WHEN: Wed Apr  7 00:59:59 2010
    ;; MSG SIZE  rcvd: 55
    

    编辑:检查您的DNS提供商。现在,他们中的很多人会返回自己的记录,这样他们就可以把广告放在你眼前,如果域名无法解决。破坏DNS,但支付账单。

        2
  •  1
  •   animuson Hemanshu    14 年前

    好的,浏览完php.net文档中的所有示例后, checkdnsrr() 我发现对于一个记录,为了有效地检查它,您仍然需要在域的末尾附加一个“.”。我想PHP会自动为您做这类事情,但不管什么都可以。结果与预期一致。