xyzzyでwebページを取ってくる

と言うのを調べてみることにした。取り合えずmessengerは無理としても何かと使えそうなので。今まではWebページを取ってくるようなの(適当)はWSHとかwgetで何とかしていたけど。というかそんなに取ってくる必要性がなかったとも言うけど。
で、取り合えずネットインストーラが何をしているか見てみた。何かDLLとか呼び出すとかそういうことをしているのかと勝手に思っていたけど、取ってくるだけなら意外と簡単に出来そうなのは分かった。プロキシとか使って接続するのとかも既に出来ていたので(亀井さんが作ったらしきものが入っていた)それを使えば意外と簡単にプロキシも使えそう。
基本はconnectを使って

  (with-open-stream (stream (connect "www.yahoo.co.jp" 80))
    (format stream "GET / HTTP/1.0\n\n")
    (while (setq in (read-line stream nil))
      (insert in "\n")))

とかするらしい。このままだと文字化けするなぁとか思ってみたけど。si:www-url-encodeなるものとかあったので、エンコードとかも意外と簡単に出来るんじゃないかと思ってみた(ちょっと調べたら、connectの引数にエンコードも指定すればいいらしい)。connectの後ろに80とかあるので、何となくそこでポートとかを指定すれば他にも色々出来そうな気もした。