Pet*_*Amo 1 php ip dns laravel
我正在使用 Laravel 和Spatie DNS Retriever从域名获取 IP 地址。
\n这是我的控制器方法:
\npublic function getDomainInfo($domain)\n {\n $dns = new Dns();\n $recordsA = $dns->getRecords($domain, [\'A\', \'CNAME\']);\n\n // dd($recordsA);\n\n $ip = $recordsA[0]->ip;\n dd($ip);\n\n return view(\'client.domain\', compact(\'records\',\'recordsA\',\'recordsMX\',\'recordsMX\',\'recordsAll\'));\n }\n
Run Code Online (Sandbox Code Playgroud)\n我收到此错误:
\n无法访问受保护的属性 Spatie\\Dns\\Records\\A::$ip
\n然而,结果将dd($recordsA)
其显示为输出:
array:1 [\xe2\x96\xbc // app/Http/Controllers/Client/IpInfoController.php:43\n 0 => Spatie\\Dns\\Records\\A {#294 \xe2\x96\xbc\n #host: "google.com"\n #ttl: 418\n #class: "IN"\n #type: "A"\n #ip: "216.239.38.120"\n }\n]\n
Run Code Online (Sandbox Code Playgroud)\n那么这里出了什么问题呢?这种情况下如何获取ip值呢?
\n我也尝试过这样获取 ip 值,但没有成功:
\ndd($recordsA[0][\'ip\']);
并返回此错误:
\n无法将 Spatie\\Dns\\Records\\A 类型的对象用作数组
\narray:1 [\xe2\x96\xbc // app/Http/Controllers/Client/IpInfoController.php:43\n 0 => Spatie\\Dns\\Records\\A {#294 \xe2\x96\xbc\n #host: "google.com"\n #ttl: 418\n #class: "IN"\n #type: "A"\n #ip: "216.239.38.120"\n }\n]\n
Run Code Online (Sandbox Code Playgroud)\n您可以通过作为函数调用来获取它,例如:
\npublic function getDomainInfo($domain)\n{\n $dns = new Dns();\n $recordsA = $dns->getRecords($domain, ['A', 'CNAME']);\n \n $ip = $recordsA[0]->ip();\n $host = $recordsA[0]->host();\n dd($ip, $host);\n\n return view('client.domain', compact('records','recordsA','recordsMX','recordsMX','recordsAll'));\n}\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
100 次 |
最近记录: |