Common Lispで使えるHTTPクライアントって何がいいんだろう
http://ja.doukaku.org/comment/685/
Common Lispにはdrakmaという高機能なHTTPクライアントがあるけど…。
(require :drakma) (drakma:http-request "http://ja.doukaku.org/feeds/comments/" :force-binary nil)
drakman:http-requestは7つの多値を返す。内容、ステータスコード、ヘッダ、URI(リダイレクトでオリジナルとは違うこともある)、ストリーム、t、ステータスの意味("OK"とか)。
内容が文字列だったり整数のvectorだったりするし…。
application/rss+xmlってdrakmaにバイナリデータとみなされてる。
iconv発見
Common Lispでnkfみたいなのはないのかと思ったらiconv発見。
(asdf-install:install "iconv")
しても404だったのでweb archiveからとってくる。
http://web.archive.org/http://www.swj.co.jp/~tahara/lisp/lib/iconv_0.2.tar.gz
~/.sbcl/site/以下に展開し、
ln -sf ~/.sbcl/site/iconv/iconv.asd ~/.sbcl/systems/iconv.asd
しておく。
使い方がわからんのでテストを見ると…
(with-tests () (test (list #(164 162 164 164 164 166) #()) (iconv:iconv "UTF-8" "EUC-JP" (coerce #(227 129 130 227 129 132 227 129 134) '(vector (unsigned-byte 8)))) :test #'equalp :multiple-values t) (test (list #(0 63 63 164 164 164 166) #()) (iconv:iconv "UTF-8" "EUC-JP" (coerce #(0 129 130 227 129 132 227 129 134) '(vector (unsigned-byte 8)))) :test #'equalp :multiple-values t) )
んー、vector→vectorの関数なのかぁ…使いづらそう。
文字列→文字列で文字コード変換できるやつないのかな。
まだまだ実用化への道は通そうだ…
ダウンロード禁止法案逝ってよし
わざとダウンロードさせて違法コピーで逮捕する企業が現れた! コマンド?:らばQ
やっぱりそういうことやる企業が出てくると思った。
日本もダウンロード禁止法ができてしまったら最後、同じことが起こり得る。最悪インターネットが死ぬことになる。利権ヤクザのカスラックならやりかねない。
だから俺もダウンロード禁止法案には断固反対する。