idnkitに付属する、idncheckコマンドの使用方法について解説します。
idncheckコマンドは、国際化ドメイン名の検査を行うツールです。 引数に指定されたドメイン名を、エンコード処理と同様の手順で変換し、 正しく変換できるかどうかチェックします。 idncheckを起動する際の、コマンド行の形式は次の通りです。
% idncheck [オプション...] ドメイン名1
idncheckはドメイン名をPunycodeへ変換してみます。 正しく変換できれば、標準エラー出力に
passed.
と出力して、終了コード0を返して実行を終えます。 伝統的なASCIIドメイン名も、「正しく変換できた」と見なされます。
ドメイン名が国際化ドメイン名として不適当である場合、 その理由 (例: "invalid encoding") を標準エラー出力に出力して、 終了コード2を返して実行を終えます。 メモリ不足のような内部エラーが起きた場合は、その理由を標準エラー出力 に出力して、終了コード3を返して実行を終えます。
idncheckの実行例を示します。 まずは正しいドメイン名を与えた場合:
% idncheck "привет.мир" passed.
Punycodeでドメイン名を指定した場合も、エンコード過程でいったんUnicode に戻されますので、各種のチェックはすべて行われます。
% idncheck "xn--tba" prohibited code point check failed
引数として渡されるドメイン名が何というエンコーディングで表現されて
いるかはidncheckが自動判定しますが、うまくいかない場合は-in
オプションを使用することで強制的に指定することができます。
以下の例では、KOI8-rを指定しています。
% idncheck -in KOI8-r "привет.мир" passed.
idncheckが認識するオプションは、次の通りです。 よく使われると思われるオプションに関しては、短縮形として1文字のオプション を用意してあります。
オプション | 説明 |
---|---|
-in エンコーディング
| 引数として与えられたドメイン名のエンコーディング名を
指定します。
以下のエンコーディング名称を認識します。
IDN_LOCAL_CODESET がセットされている
場合はその値となり、セットされていなければロケール情報
から取得したエンコーディングとなります
(「ローカルエンコーディング」
参照)。
|
-i エンコーディング
| |
-conf パス
| idnkitの設定ファイルのパス名を指定します
(デフォルトで読み込まれる設定ファイルのパスは、
「設定ファイルについて」
を参照のこと)。
-noconf ないし-C オプションと一緒に指定
した場合はそちらが優先され、設定ファイルは読み込まれません。
|
-c パス
| |
-noconf
| idnkitの設定ファイルを読み込まないようにします。 |
-C
| |
-registration (デフォルト)
| IDNA2008の「ドメイン名登録プロトコル (registration protocol)」 を使用します。 デフォルトでは、こちらのプロトコルを使用します。 |
-g (デフォルト)
| |
-lookup
| IDNA2008の「ドメイン名参照プロトコル (lookup protocol)」 を使用します。 ドメイン名登録プロトコルでは行われる「ハイフンチェック」が省略され、 「その他文脈依存文字 (CONTEXTO)」のチェックも簡素化されます。 詳しくは、「idnkitの変換処理の詳細」を 参照して下さい。 |
-l
| |
-nomap
| マッピング処理を行いません。
「-skip map 」と等価です。
|
-M
| |
-skip アクション名,...
| アクション名で指定されたエンコード/デコード処理工程
の実行を省略します。
", " で区切って複数のアクションを指定することが可能です。
また、複数回-skip オプションを指定しても構いません。
アクション名として以下の名称を認識します。
|
-localcheck ファイル
| 追加で、各コードポイントに対する「ローカルチェック」 を行います。 詳しくは、 「セットファイル」 を参照して下さい。 |
-e ファイル
| |
-quiet
| 実行結果を出力しません。 結果は、終了コードから判断して下さい。 |
-q
| |
-test
| 現在のオプション指定と環境変数等の設定状況で実行すると、 「現在の言語」とローカルエンコーディングが何になるのかを表示し、 終了します。 |
-t
| |
-version
| バージョン情報を表示して実行を終了します。 |
-v
| |
-help
| ヘルプメッセージを表示して終了します。 |
-h
|