言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

Squeak で使える HTTP クライアントあれこれ

Squeak で使える HTTP クライアントがへぼくて使えねー。これは自分で作るかと思ったのだが、いかにも他の人が沢山作ってそうなネタなので一応調べてみた。やりたい事は単純で、HTTP でコンテンツを取得する時にプログレスバーを出したいという事だけだ。

まず一番お手軽な方法。

'http://www.squeakland.jp' asUrl retrieveContents contents

内部で HTTPSocket クラスが使われていて、こう書いても同じ。

HTTPSocket
		httpGetDocument: 'http://www.squeakland.jp'
		args: nil
		accept: 'application/octet-stream'
		request: ''

HTTPClient と言うのもあるがこれも内部で HTTPSocket を使う。

(HTTPClient httpGet:  'http://www.squeakland.jp') contents

HTTPLoader という妙な物もある。これはバックグラウンドでダウンロードしたい時に使うみたい。

HTTPLoader default retrieveContentsFor: 'http://www.squeakland.jp'

標準では無いが、http://map.squeak.org/packagebyname/HTTPClientプログレスバーも使えるし、良い事尽くめのような事が書いてあるが、ダウンロード出来なかった。