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.176 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (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. |
sevZIP40 Pro DLL Zippen und Unzippen wie die Profis! Mit nur wenigen Zeilen Code statten Sie Ihre Anwendungen ab sofort mit schnellen Zip- und Unzip-Funktionen aus. Hierbei lassen sich entweder einzelnen Dateien oder auch gesamte Ordner zippen bzw. entpacken. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 TOP Entwickler-Paket TOP-Preis!! Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR... |
||||||||||||||||
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. |