audioscrobblerがサーバと通信する様子を眺めてみた

通信先は62.216.251.205:80で プロトコルTCP

曲データ一件あたりのトランザクションはどうやら以下の通りらしい:

要求 1発目:8バイト分のバイナリ 何をやっているのか不明

要求 2発目:TCPヘッダのみ
応答 さっきの8バイトがそのまま返って来た

その後ではじめてHTTP要求を投げてやる。下では見易いようにContent部分に改行を入れた。実際にはもちろん改行無し。

POST /protocol_1.1 HTTP/1.1
User-Agent: Mozilla/5.0 (compatible; libscrobbler 1.5; itw 1.1.0)
Host: 62.216.251.205
Pragma: no-cache
Accept: */*
Content-Length: 194
Content-Type: application/x-www-form-urlencoded

u=(自分のログイン名)&
s=(よく分からんMD5ハッシュ値)&
a[0]=(アーティスト名)&
b[0]=(アルバム名)&
t[0]=(トラック名)&
i[0]=2006%2D07%2D01%2005%3A58%3A28(たぶん再生時のタイムスタンプ 2006/07/01 05:58:28)&
l[0]=236&
m[0]=

応答 1発目:TCPヘッダのみ
応答 2発目:HTTP

HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Pragma: no-cache
Cache-Control: no-cache
Content-Type: text/plain;charset=ISO-8859-1
Date: Sat, 01 Jul 2006 05:58:28 GMT
Connection: close

OK
INTERVAL 1