2016-04-24 5 views
2

Ich bin auf der Suche nach einem schnellen wat, um zu testen, ob ein Domain-Name verwendet wird, daher ist eine Site angehängt. Ich habe eine riesige Liste von Domain-Namen und muss überprüfen, welche eine Website an sie angeschlossen haben oder nicht.Schneller Weg, um zu sehen, ob eine Domain mit PHP verwendet oder registriert wird

Wenn ich weiß, dass es eine Seite mit ihm verbunden ist, dann brauche ich keine Zeit raub whois-Abfragen, etc. zu tun

Meine erste Idee für HTTP-Header-Code zu überprüfen war und sehen, ob der Header codes geben 200, 301, 302 zurück ... wenn es etwas anderes gibt, besteht eine hohe Wahrscheinlichkeit, dass keine Site angeschlossen ist oder dass der Domainname verfügbar ist. Der Code-Snipper, den ich verwende, ist:

$headers = @get_headers($url); 
$headers = (is_array($headers)) ? implode("\n ", $headers) : $headers; 
return (bool)preg_match('#^HTTP/.*\s+[(200|301|302)]+\s#i', $headers); 

Allerdings ist dieser Prozess ziemlich langsam.

Als nächstes habe ich versucht mit der PHP-Funktion checkdnsrr zu überprüfen, ob ein DNS-Datensatz existiert. Ich benutze den folgenden Code-Snipper.

if (checkdnsrr($domain . ".", "A") == false) { 
    echo "Domain might be available"; 
} else { 
    echo "Domain is in use"; 
} 

Leider gibt es mir eine Menge "falscher" Information, die besagt, dass die Domäne verfügbar sein könnte. Das gleiche gilt für den folgenden Code-Schnipsel:

if (gethostbyname($domain) != $domain) { 
    echo "DNS Record found"; 
} else { 
    echo "NO DNS Record found"; 
} 

Ein WHOIS-Lookup ist eine Möglichkeit, aber auch mit all dem neuen TLD (.frl, .xyz, etc.) könnte dies eine große Aufgabe zu eingerichtet werden.

Eine andere Idee, die ich hatte war, den fraglichen Domain-Namen zu pingen und wenn ich eine Antwort bekomme, weiß ich, dass der Domain-Name "in Gebrauch" ist. Ich bin nicht sicher, ob dies der beste Ansatz dafür ist. Ich frage Sie, ob es eine schnelle, aber zuverlässigere Möglichkeit gibt, um zu überprüfen, ob eine Domain verwendet wird (oder registriert ist).

+0

Hinweis: Es gibt nicht viel Sie eine WHOIS schnell machen tun können, um. Sie sind auf die Geschwindigkeit der Server angewiesen, die Sie abfragen. Wenn Domain * Registrierung * eine absolute Voraussetzung ist, ist WHOIS es. – ceejayoz

+0

Hallo, ich habe meine Frage aktualisiert. Ich suche nicht nach WHOIS-Daten, sondern nach einem einfachen Indikator, dass eine Domain verwendet wird oder nicht (egal, ob sie registriert ist). Auf Netzwerkebene würde ich einen Ping an einen Server/eine Domäne senden, aber ich bin nicht sicher, ob dies der effizienteste Weg ist. –

+0

Was willst du damit eigentlich erreichen? Was ist der Benutzerfall? – ceejayoz

Antwort

1

Sie könnten versuchen, "http://whois.domaintools.com/" zu analysieren. $ Domain

und suchen Sie nach dem Stichwort „Domain verfügbar“

+0

Das wäre eine Idee, aber ich denke, wenn ich in relativ kurzer Zeit viele Anfragen an ihre Site stelle, könnten sie meine IP-Adresse sperren. –

Verwandte Themen