スマートフォン用サイトへのアクセス
先日言及したHTMLパーサのテストに自分の日記のサイトを使用したのだが、簡単に接続できるだろうと思っていたのに反して、HTTPのステータスコードに302が戻ってくる。
テストにはAndroid SDKに添付されているエミュレータ(AVD)を使用しているが、PCブラウザのFiddlerのように便利なツールは無いので、Microsoft Network Monitorでエミュレータの通信をキャプチャしてみることにした。
- Http: Response, HTTP/1.1, Status: Moved temporarily, URL: /Kazzz/ ProtocolVersion: HTTP/1.1 StatusCode: 302, Moved temporarily Reason: Moved Date: Fri, 02 Jul 2010 15:52:37 GMT Server: Apache Location: /Kazzz/touch + ContentType: text/html; charset=ISO-8859-1 Set-Cookie: .....; path=/; expires=Thu, 27-Jun-30 15:52:37 GMT; domain=.hatena.ne.jp Vary: Accept-Encoding Keep-Alive: timeout=7, max=5 Connection: Keep-Alive TransferEncoding: chunked HeaderEnd: CRLF + chunkSize: 303 + ChunkPayload: HttpContentType = text/html; charset=ISO-8859-1 FooterEnd: CRLF
そっか、実機と同様でモバイル機器として扱われる訳で、/Kazzz/touchにリダイレクトする必要があるんだな。
しかしこれはhatenaに限ったことではなく、クライアントのエージェントによってサイトを切替えるのはよくあるケース。今後Androidクライアントでサーバに接続する際には避けて通れない訳で、テストに選んでおいて良かった。
しかし、はてさてリダイレクトを扱うことを考えなくてはならないなんて何時以来のことだろう。