2016/06/02
(更新日: 2016/06/02)
Shellで日本語ドメインをPunycode(IDNドメイン)に変換する方法
Shellで日本語ドメインをIDNフォーマットに変換する方法を紹介します。 対象のOSはMacです。
libidn というGNUのライブラリがあるので、それを使います。
libidnのインストール homebrewでインストールします。
インストールしたら、idnコマンドが使えるようになります。
1 2 3 4 5 6 7 8 $ idn libidn 1.32 Copyright 2002-2015 Simon Josefsson. GNU Libidn is free software with ABSOLUTELY NO WARRANTY. For more information about these matters, see <http ://www.gnu.org/licenses/>. Type each input string on a line by itself, terminated by a newline character.idn: tld_check_4z: Missing input
libidnでPunycodeに変換する 以下のようにPunycodeに変換できます。
1 2 $ idn しょーやん.xyz xn--68jwei3c27a .xyz
unicodeに変換する場合は-u
オプションを使います。
1 2 $ idn -u xn--68jwei3c27a .xyz しょーやん.xyz
digとidnを組み合わせて使う 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ⇒ dig `idn しょーやん.xyz` NS ; <<>> DiG 9.8 .3 -P1 <<>> xn--68jwei3c27a.xyz NS ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59533 ;; flags: qr rd ra; QUERY: 1 , ANSWER: 2 , AUTHORITY: 0 , ADDITIONAL: 0 ;; QUESTION SECTION: ;xn--68jwei3c27a.xyz. IN NS ;; ANSWER SECTION: xn--68jwei3c27a.xyz. 3578 IN NS dns01.muumuu-domain.com. xn--68jwei3c27a.xyz. 3578 IN NS dns02.muumuu-domain.com. ;; Query time: 34 msec ;; SERVER: 192.168 .74 .20 ;; WHEN: Fri Jun 3 09 :25:40 2016 ;; MSG SIZE rcvd: 94 )>>>>>>