cl-curlでhttp://www.yahoo.co.jpをGETできない!?
これまでの調査でsbclはiso-2022-jpをサポートしていないことがわかった。しかし、EUC-JPで書かれたyahoo.co.jpでエラーになるのが解せない。
(in-package :curl-get) (defun curl-get (url) (with-connection-returning-string () (set-option :url url) (perform))) (curl-get:curl-get "http://www.yahoo.co.jp")
UTF-8で読み込んでるみたい。
c-string decoding error (:external-format :UTF-8): the octet sequence 1 cannot be decoded. [Condition of type SB-INT:C-STRING-DECODING-ERROR] Restarts: 0: [ABORT] Return to SLIME's top level. 1: [TERMINATE-THREAD] Terminate this thread (#<THREAD "repl-thread" {BF69D71}>) Backtrace: 0: (SB-INT:C-STRING-DECODING-ERROR :UTF-8 1) 1: (SB-INT:C-STRING-DECODING-ERROR :UTF-8 1) 2: (SB-IMPL::READ-FROM-C-STRING/UTF-8 #.(SB-SYS:INT-SAP #X0810CC40) CHARACTER) 3: (CURL::RETURN-STRING-INT #<SB-ALIEN-INTERNALS:ALIEN-VALUE :SAP #X080D2898 :TYPE (* (SIGNED 8))>) 4: (CURL:RETURN-STRING #<SB-ALIEN-INTERNALS:ALIEN-VALUE :SAP #X080D2898 :TYPE (* (SIGNED 8))>) 5: (CURL-GET:CURL-GET "http://www.yahoo.co.jp")
(let ((sb-impl::*default-external-format* :euc-jp)) (curl-get:curl-get "http://www.yahoo.co.jp"))
*default-external-format*を指定してもダメだった(同じエラー)。どうしよう…
><