Sie möchten eine eigene Homepage ins Netz stellen? Dann brauchen Sie zunächst eine Domain (URL-Adresse), unter der man Ihre Homepage abrufen kann. Und bevor man eine Domain bei der zuständigen DENIC anmelden kann, muss man prüfen, ob die Wunsch-Domain noch frei ist, oder schon belegt. So eine Domain-Abfrage nennt man auch WHOIS-Abfrage. WHOIS deshalb, weil man über die WHOIS-Datenbanken abfragen kann, wer sich hinter einer Domain "versteckt" oder besser gesagt, wer der Besitzer der Domain ist. Für eine WHOIS-Abfrage gibt es unzählige CGI-, ASP und PHP-Skripte, um z.B. einen Domain-Checker direkt auf der eigenen Homepage anzubieten. Wie sieht es aber aus, wenn man eine solche Anfrage über ein VB-Programm realisieren will? Genau das zeigt Ihnen das nachfolgende Codebeispiel. Erstellen Sie ein neues Projekt und fügen gleich mal das Winsock-Control hinzu (Menü Projekt - Komponenten - "Microsoft Winsock-Control"). Plazieren Sie auf die Form folgende Steuerelemente:
Die TextBox txtDomain dient zur Eingabe der zu prüfenden Domain. Über die Schaltfläche cmdWHOIS wird die WHOIS-Abfrage gestartet. Während des Abfrage-Vorgangs wird der aktuelle Status im Label lblStatus ausgegeben. Das Ergebnis der Abfrage wird abschließend in der MutliLine-TextBox txtWHOIS angezeigt. Und hier der vollständige Code Option Explicit ' Speichert das Ergebnis der WHOIS-Abfrage Private sData As String Private Sub Form_Load() ' Schaltfläche zunächst deaktivieren cmdWHOIS.Enabled = False End Sub Private Sub txtDomain_Change() ' CommandButton aktivieren cmdWHOIS.Enabled = (Trim$(txtDomain.Text) <> "") End Sub Private Sub cmdWHOIS_Click() ' WHOIS-Anfrage starten Screen.MousePointer = vbHourglass txtWHOIS.Text = "" With Winsock1 .Close .LocalPort = 0 ' Verbinden mit allwhois.com (Port 80) lblStatus.Caption = "Verbinden mit www.allwhois.com..." .Connect "www.allwhois.com", 80 End With End Sub Private Sub Winsock1_Connect() ' Verbunden - jetzt Domainanfrage losschicken Dim sDomain As String ' ggf. "http://www." entfernen sDomain = Trim$(txtDomain.Text) If LCase$(Left$(sDomain, 7)) = "http://" Then _ sDomain = Mid$(sDomain, 8) If LCase$(Left$(sDomain, 4)) = "www." Then _ sDomain = Mid$(sDomain, 5) ' Ergebnisbuffer leeren sData = "" ' Abfrage abschicken lblStatus.Caption = "Verbunden... Domainabfrage wird gestartet" DoEvents Winsock1.SendData "GET /cgi-bin/allwhois3.cgi?dn=" & _ sDomain & vbCrLf End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) ' Daten werden empfangen Dim sTemp As String On Error Resume Next Winsock1.GetData sTemp lblStatus.Caption = "Verbunden... Daten werden empfangen" DoEvents ' Chr(10) durch Chr(13)+Chr(10) ersetzen, da ' Zeilenumbrüche sonst nicht korrekt dargestellt ' werden (UNIX) sData = sData & Replace(sTemp, Chr$(10), vbCrLf) & vbCrLf End Sub Private Sub Winsock1_Error(ByVal Number As Integer, _ Description As String, ByVal Scode As Long, _ ByVal Source As String, ByVal HelpFile As String, _ ByVal HelpContext As Long, _ CancelDisplay As Boolean) ' Fehler lblStatus.Caption = "Fehler!" DoEvents Winsock1.Close Screen.MousePointer = vbNormal End Sub Private Sub Winsock1_Close() ' Winsock schließen Winsock1.Close ' nach den wirklichen Informationen suchen Dim sCheck As String sCheck = "<textarea NAME=""description"" rows=10 cols=55 wrap=physical>" If InStr(sData, sCheck) > 0 Then sData = Mid$(sData, InStr(sData, sCheck) + Len(sCheck)) If InStr(sData, "</textarea></form>") > 0 Then sData = Mid(sData, 1, InStr(sData, "</textarea></form>") - 1) End If End If ' Ausgabe im Textfeld txtWHOIS.Text = sData & vbCrLf If InStr(sData, "[admin-c]") > 0 Then lblStatus.Caption = "Domain ist bereits belegt..." Else lblStatus.Caption = "Domain ist noch frei..." End If Screen.MousePointer = vbNormal End Sub Dieser Tipp wurde bereits 18.573 mal aufgerufen.
Anzeige
![]() ![]() ![]() (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
Neu! sevDTA 3.0 Pro ![]() SEPA mit Kontonummernprüfung Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Tipp des Monats ![]() Dieter Otter sevTabStrip: Rechtsklick auf Reiter erkennen Eine Funktion, mit der sich prüfen lässt, auf welchen Tab-Reiter ein Mausklick erfolgte Access-Tools Vol.1 ![]() Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |