Perlで携帯から端末IDを取得する方法

最近DocomoのimodeIDの取得対応をしたので、とりあえずまとめ。

Docomo
DocomoはimodeIDというのがhttp環境であれば下記のようにして取得できる。
現在、https環境では送信されないので注意が必要です。

Perlのスクリプト側では下記のようにして取得
my $uim = $ENV{'HTTP_X_DCMGUID'};

html側で下記のように記載
<form method="POST" action="hoge.cgi?guid=ON">

注意点は、Postの場合、formのactionの中に記載すること。
の中に入れると取得できないので注意。


Au
Auはhtml側には何も記載しない。
Perlのプログラム側で下記のようにして取得

my $uim = $ENV{'HTTP_X_UP_SUBNO'};


Softbank
Softbankはhtml側には何も記載しない。
Perlのプログラム側で下記のようにして取得

my $uim = $ENV{'HTTP_X_JPHONE_UID'};

C型と呼ばれる古い機種まで対象にして取得したい場合は、ユーザエージェントに含まれている下記の文字を正規表現で取得する
SNxxxxxxxxxxxx
xには「端末シリアル番号」と呼ばれるものが入ります。