我正在尝试使用Clojure获取HTTP响应的主体,并使用处理程序。但是,http-agent
函数会挂起而不返回。
这将打印响应,然后挂起而不返回:
(use '[clojure.contrib.http.agent])
(def text (result (http-agent "http://jsonip.com"
:method "GET")))
(println text)
这将打印"Handling..."
,然后无限期挂起:
(use '[clojure.contrib.http.agent])
(defn do-stuff
"handler"
[response]
(do
(println "Handling...")
(slurp (string response))))
(def text (result (http-agent "http://jsonip.com"
:method "GET"
:handler do-stuff)))
(println (str "text! " text))
如何让http-agent方法停止挂起?在上面列出的第二种情况中,如何让处理程序返回响应体?
感谢您的帮助, 凯文
答案 0 :(得分:0)
在第二段代码中,你没有打印出什么是诽谤。应该是这样的 -
(println (slurp (string response)))