ソフトバンク(旧ボーダフォン)用サイトの作り方

Vodafoneの携帯電話から見れるページを作る。

UA (User Agent) の見分け方

携帯電話から掛けてきているか調べる。REMOTE_HOST, REMOTE_ADDR, HTTP_USER_AGENTが使える。

REMOTE_HOST = wgp2proxykn01.skyweb.jp-k.ne.jp
REMOTE_ADDR = 210.146.60.204
HTTP_USER_AGENT = J-PHONE/3.0/J-SH06

普通はHTTP_USER_AGENTを使う。フォームでpostメソッドを使いたいときはJ-PHONE/3.0でないといけないらしい。

WebサーバーによってはREMOTE_HOSTが取れないが,そのときはREMOTE_ADDRから名前を引けばREMOTE_HOSTと同じホスト名が得られる。ホスト名は,".jp-[tkqc].ne.jp"で終わる。

ページ作成

Vodafone Live! のページはHTMLもどきで書けばいい。Vodafoneが自動的にMML (Mobile Markup Language) に変換してくれる。文字コードはEUC-JPで問題ない。

HTML 4.01との違い(一部);

  • 文書型宣言は不要。
  • htmlタグにlang属性はない。
  • inputタグにmode属性がある。入力文字種を指定する。
  • th/td要素の終了タグは必須。
  • th/tdタグにalign属性はない。

inputタグのmode属性値(入力モード)

属性値 意味
hiragana 全角ひらがな・漢字(デフォルトモード)
katakana 全角カタカナ
alphabet 半角英字・記号
numeric 半角数字

HTMLとそんなに違わない。レンダリングで気付いたのはこんなの。

  • h1要素の後ろに改行が入らない。
  • 画面が狭いので,ラジオボタンよりもメニューを使う。
  • p要素は行の前が1行空く。br要素を使う。

とにかく画面が非常に狭いのが困る。私の機種だと,全角で横8字(半角16字)×縦7行しかない。フォームを使うとさらに表示できる分量が減る。また,文字入力が大変。文章の入力には使いたくない。

仮入力と割り切って,PCで補うことを考えた方がよさそう。PCでもできることなら携帯を使う意味はない。

フォームの制限

2004.02.24更新。

PC用では,ファイルをアップロードするときに,次のようなHTMLを書く。

<form method="post" enctype="multipart/form-data" action="./up-cgi.rb">
ファイル:<input type="file" name="d"> <input type="submit">
</form>

Vodafone Live!は,form[method="post"]をサポートするが,input[type="file"]をサポートしない。そのため,上記のようなHTMLでは上手くいかない。ケータイで撮った写真をアップロードするには,別の方法(メールなど)でやらないといけない。

認証

J-PHONEではWebサーバーの認証には対応していない。単に401エラーで返る。クッキーにも対応していない。

認証を行うには,自分でコードを書く必要がある。隠蔽(いんぺい)コントロールを使って,セッション管理を行う。

外部リンク