IDN-fähiges Windows-Befehlszeilen-Dienstprogramm

847
Andreas Rejbrand

Ich benutze Mark Russinovichs exzellente Funktion whois.exe, um WHOIS-Abfragen über die Eingabeaufforderung in Microsoft Windows auszuführen. Das funktioniert sehr gut, aber es werden keine IDNs verarbeitet. Wenn ich zum Beispiel versuche, meine Domain zu überprüfen ändlöslängtan.se, versuche ich, whois ändlöslängtan.sewas keine Übereinstimmung ergibt. Wenn ich manuell umwandeln ändlöslängtan.sezu xn--ndlslngtan-p5af5u.se(zB mit Google Chrome-Adressleiste und die Zwischenablage), es funktioniert. Es wäre jedoch viel praktischer, wenn das CLI-Dienstprogramm diese Umwandlung automatisch durchführen könnte.

Frage: Gibt es ein leichtes Windows-CLI-Programm ähnlich dem von Mark Russinovich whois.exe, das IDNs automatisch transformiert?

1
Kannst du genau erklären, was die "Transformation" (zu "xn - ndlslngtan-p5af5u.se") ist, die du gemacht hast? Ich verstehe nicht genug von Internationalisierung, um es aus meinem Kopf zu wissen. Trevor Sullivan vor 10 Jahren 0
@ TrevorSullivan: Ich kenne die Details nicht, aber die Sache ist, dass ein internationalisierter Domainname (wie "ändlöslängtan.se") automatisch vom Browser (oder anderer Software) in eine reine ASCII-Version umgewandelt wird. tatsächlicher 'Domainname (der jedoch normalerweise nicht angezeigt wird). Schau mal bei [Wikipedia] (https://en.wikipedia.org/wiki/Internationalized_domain_name). Andreas Rejbrand vor 10 Jahren 0

2 Antworten auf die Frage

4
mfornasa

Der Linux whois- Client von Marco D'Itri unterstützt IDNs, daher kam mir eine Windows-Portierung. Ihre Abfrage wird beispielsweise wie folgt angezeigt:

>whois ändlöslängtan.se # Copyright (c) 1997- .SE (The Internet Infrastructure Foundation). # All rights reserved.  [cut]  # The data is in the UTF-8 character set and the result is # printed with eight bits.  state: active domain: xn--ndlslngtan-p5af5u.se (A☼ndlA¶slA☼ngtan.se) holder: andrea4342-00001 admin-c: - tech-c: - billing-c: - created: 2011-02-20 modified: 2014-02-10 expires: 2015-02-20 transferred: 2014-02-10 nserver: ns2.loopia.se nserver: ns1.loopia.se dnssec: unsigned delegation status: ok registrar: Loopia AB 

Die @sahmeepee-Methode war zwar korrekt, wenn auch indirekt, aber Sie müssten IDN + ICONV-Bibliotheken installieren. Bei meiner Portierung habe ich es vorgezogen, sie statisch zu verknüpfen, um eine eigenständige ausführbare Datei zu erhalten.

Sie finden die erste Version zusammen mit dem Quellcode auf meiner Github- Seite.

Gut. Ich habe eine [neue Version] (https://github.com/mfornasa/whois/releases/tag/v5.1.1_win32_alpha2) vorbereitet, die nicht-ASCII-Zeichen in der Serverantwort korrekt unterstützt (wie in der Zeile "domain:" oben) ). mfornasa vor 10 Jahren 1
0
sahmeepee

Ich konnte nicht genau das finden, was Sie wollten, aber das gnu libidn-Paket enthält ein Programm namens "idn", das die Option "-a" enthält, die die Konvertierung bereitstellt, die Sie suchen. Es war nicht so einfach, Binärdateien für Windows zu finden, aber ich bin auf diesen Link zu Binärdateien für eine etwas ältere Version gestoßen:

http://josefsson.org/gnutls4win/libidn-1.19.zip

Sie sollten in der Lage sein, idn -a zu verwenden und die Ausgabe an Ihren whois-Befehl weiterzuleiten, um das gewünschte Ergebnis zu erzielen. Zur Vereinfachung können Sie eine Stapeldatei erstellen, die Ihren Domänennamen als Parameter verwendet, sodass Sie nicht jedes Mal beide Befehle eingeben müssen.

Ich habe noch nicht verstanden, wie man dieses Dienstprogramm benutzt. Es gibt etwas zurück, das richtig aussieht, aber nicht (`xn - dllgtan-9ebd278h.se`). Außerdem wird Folgendes beanstandet: `libidn: warning: libiconv nicht installiert, Daten können nicht in UTF-8 konvertiert werden`. Die neue Version (1.28) schlägt ebenfalls fehl, aber auf eine etwas andere Art und Weise (`idn: konnte nicht von ASCII in UTF-8 umwandeln ', überhaupt keine Ausgabe,` libiconv` vorhanden). Andreas Rejbrand vor 10 Jahren 0