0

私が次のように呼ぶとき:

file_get_contents('http://whgfdw.ca');

また

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://whgfdw.ca');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_exec($ch);

戻り値は、ローカル(専用)WebサーバーにあるメインサイトのホームページのHTMLです。誰かが私がこれを理解するのを手伝ってくれるなら、私は感謝しますか?おそらく私が見落としていることがあります。

http://whgfdw.ca完全に細かいURLであるため、単純なURL検証を使用することはできません。DNSエントリがないだけです。

私の理想的な機能は、DNSルックアップの失敗、404、またはコンテンツがない場合をキャッチして、それに対処できるようにすることです。ありがとう!

4

1 に答える 1

2

有効な応答を受け取った場合、そのDNSエントリはどこかに存在します。内部DNSサーバー、ローカルサーバーの/ etc / hostsファイル、またはスタック内のどこかにある可能性がありますが、最終的には何らかの方法で解決されています。したがって、問題は、解決するエントリがどこに入力されたかになります。ローカルサーバーへのすべてのルックアップを解決するように設定されたアプリケーションがある可能性があります(openDNSおよび多くのISPが未解決のDNS名を検索ページに解決する方法と同様です)。

どういうわけか解決されていることを考えると、応答のコンテンツを期待するコンテンツと比較しない限り、それを検証する方法は実際にはありません。404をキャッチするのは非常に簡単です。また、phpで逆ルックアップを設定して、私が信じている未解決の名前をキャッチすることもできます。しかし、あなたは私が最初に考えるべきその解決に取り組む必要があります。

于 2010-02-15T21:07:50.273 に答える