3 # $Id: ClientInfo.pm,v 1.3 2008-05-08 14:23:16 matusita Exp $
4 # $Source: /home/ishikawa/work/keitairc/tmp/keitairc/lib/Keitairc/ClientInfo.pm,v $
6 # Copyright (c) 2008 Jun Morimoto <morimoto@mrmt.net>
7 # This program is covered by the GNU General Public License 2
9 package Keitairc::ClientInfo;
12 ################################################################
18 for my $key (keys %{$arg->{_headers}}){
21 $me->{header}->{$ukey} = $arg->{_headers}->{$key};
24 for my $set (split(/; */, $me->{header}->{Cookie})){
25 my ($name, $value) = split(/=/, $set);
26 $value =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('C', hex($1))/eg;
27 $me->{cookie}->{$name} = $value;
31 $me->{serial_key} = $me->serial_key();
35 ################################################################
38 $me->{header}->{user_agent};
41 ################################################################
44 $me->{header}->{user_agent} =~ /^KDDI-/;
47 ################################################################
50 $me->{header}->{user_agent} =~ /^DoCoMo/;
53 ################################################################
56 $me->{header}->{user_agent} =~ /(iPod|iPhone)/;
59 ################################################################
62 $me->{header}->{user_agent} =~ /^(SoftBank|Vodafone|J-PHONE|MOT-)/;
65 ################################################################
68 $me->is_ezweb() + $me->is_docomo() + $me->is_softbank();
71 ################################################################
74 if($me->is_softbank()){
75 if($me->{header}->{user_agent} =~ m|/(SN[0-9A-Z]+)|){
81 ################################################################
85 # NTT DoCoMo¤ÎFOMAüËöÀ½Â¤ÈÖ¹æ (15·å¤Î¥æ¥Ë¡¼¥¯¤Ê±Ñ¿ô»ú) ¤ª¤è¤Ó
86 # FOMA¥«¡¼¥ÉÀ½Â¤ÈÖ¹æ (20·å¤Î¥æ¥Ë¡¼¥¯¤Ê±Ñ¿ô»ú)
87 # http://www.nttdocomo.co.jp/service/imode/make/content/html/tag/utn.html
88 # ¼ÂºÝ¤Ë¤Ïlower case¤â»È¤ï¤ì¤Æ¤¤¤ë¤è¤¦¤Ê¤Î¤ÇÃí°Õ
89 # DoCoMo/2.0 P703imyu(c100;TB;W30H15)
90 # DoCoMo/2.0 P703imyu(c100;TB;W30H15;ser12345ABCDE12345;icc12345ABCDE12345abcde)
91 if($me->{header}->{user_agent} =~ /;(icc[0-9a-zA-Z]{20})/){
97 ################################################################
100 $me->{header}->{x_up_subno};
103 ################################################################
106 if($me->is_softbank()){
107 return $me->softbank_serial();
110 return $me->subscribe_id();
114 ################################################################
115 # Cookie¤ò°·¤¨¤ë¤«¤É¤¦¤«
116 # ¤È¤ê¤¢¤¨¤º Cookie ¤ò³Î¼Â¤Ë°·¤¨¤Ê¤¤ DoCoMo ¤òȽÄꤷ¤Æ¤ë¤À¤±
117 sub cookie_available{
119 unless($me->is_docomo()){