下图是我Edebug的时候得到的结果。这个 request
函数返回的结果如何解析?不是JSON,JSON的话直接用函数 :parser 'json-read
就可以了。
下图是kiwix-serve 服务还没有启动的返回错误状态:
这是我目前的代码:
https://github.com/stardiviner/kiwix.el/blob/master/kiwix.el#L222
还请社区里的大神指导下这个该怎么弄?
下图是我Edebug的时候得到的结果。这个 request
函数返回的结果如何解析?不是JSON,JSON的话直接用函数 :parser 'json-read
就可以了。
下图是kiwix-serve 服务还没有启动的返回错误状态:
这是我目前的代码:
https://github.com/stardiviner/kiwix.el/blob/master/kiwix.el#L222
还请社区里的大神指导下这个该怎么弄?
再结合上 exit with code 7,man curl:
7 Failed to connect to host.
服务器没启动,没连上不就没任何返回值,用不着解析?
原来如此,request也是在curl基础上的。
我把 kiwix-serve 服务关闭,然后再次request,得到如下输出:
#s(request-response nil nil (html nil (body nil (p nil "(:num-redirects 0 :url-effective \"http://127.0.0.1:8089/\")"))) (error . "exited abnormally with code 7
") error "http://127.0.0.1:8089" t (:type "GET" :sync t :parser (lambda nil (libxml-parse-html-region ... ...)) :error (lambda (&rest args) "
这个 #s(request-response ....)
是一种 cl- structure吧。这种要怎么解析获得这个 (error . "exit with error code 7")
?
是否这个输出的报错并不是 :parse
能够捕获并且解析的?
我查了下,知道要怎么对 cl-defstruct
定义的结构提取值了。 用 request-response-error-thrown
原来 :error
handler 里就是捕获的 error-thrown 数据。