Wenn eine erforderliche Abfrage noch traditionelles WHOIS verwendet, kann ein HTTP-Proxy diesen TCP-Austausch befördern, sofern seine Richtlinie CONNECT zum WHOIS-Dienst erlaubt. Der Client muss den Proxy-Handshake abschließen, bevor er den Abfragetext sendet. Für einen erlaubten öffentlichen WHOIS-Test ohne konfigurierte Proxy-Anmeldedaten bietet die HTTP-Proxy-Liste mögliche Vermittler; bestätigen Sie getrennt, dass einer den Host des WHOIS-Dienstes und Port 43 zulässt.

Beginnen Sie für einen hypothetischen Dienst namens whois.example mit dieser HTTP-Anfrage:

CONNECT whois.example:43 HTTP/1.1
Host: whois.example:43

Schreiben Sie HTTP-Zeilenenden als CRLF. Lesen Sie die vollständige Proxy-Antwort einschließlich der abschließenden leeren Kopfzeile und prüfen Sie den numerischen Erfolgsstatus. Der Empfang eines Teils der Statuszeile reicht nicht aus, um das nächste Protokoll zu beginnen.

Dann den WHOIS-Text senden

Senden Sie nach dem Öffnen des Tunnels die Abfrage, die dieser WHOIS-Server erwartet. Eine einfache beispielhafte Abfrage lautet:

example.com<CRLF>

Die Markierung steht für Wagenrücklauf- und Zeilenvorschub-Bytes. Sie ist nicht Teil des Domänennamens. Innerhalb dieses WHOIS-Austauschs gibt es keine HTTP-GET-Zeile und keinen HTTP-Antwortstatus.

Lesen Sie den Text, bis der WHOIS-Server die Verbindung schließt. Eine Antwort kann viele Zeilen enthalten; die erste neue Zeile bedeutet nicht, dass sie vollständig ist. Halten Sie Verbindungs- und Lese-Timeouts in der Implementierung begrenzt.

Diese Reihenfolge gibt dem Parser außerdem zwei verschiedene Grenzen. Zuerst kommt ein HTTP-Kopfzeilenblock. Danach kommt die WHOIS-Antwort, deren Abschluss durch das Schließen der Verbindung signalisiert wird. Bewahren Sie alle Bytes, die über eine geparste Grenze hinaus gepuffert wurden, anstatt einen gesamten Netzwerklesevorgang zu verwerfen.

Eine Proxy-Ablehnung bedeutet, dass der Tunnel nie geöffnet wurde; das anschließende Senden einer Domäne kann daher kein WHOIS-Ergebnis liefern. Wenn die Antwort des Servers auf einen anderen WHOIS-Dienst verweist, benötigt jede Folgeabfrage ihre eigene erlaubte Verbindung zu diesem Dienst.

Ähnliche Artikel