【问题标题】:How can I debug clj-apache-http?如何调试 clj-apache-http?
【发布时间】:2011-02-24 20:44:41
【问题描述】:

我正在尝试启动 OAuth 应用程序,但我失败了,因为 API 服务器不会与我对话。不幸的是,使用过的clj-apache-http 不会告诉我问题出在哪里,我只收到这个警告:

WARNUNG: Authentication error: Unable to respond to any of these challenges: {oauth=WWW-Authenticate: OAuth realm="http%3A%2F%2FSERVERNAME"}
Exception in thread "Thread-1" java.lang.RuntimeException: java.lang.Exception: JSON error (unexpected character): I (example.clj:1)
        at clojure.lang.AFn.run(AFn.java:28)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.Exception: JSON error (unexpected character): I (example.clj:1)
        at clojure.lang.Compiler.eval(Compiler.java:5440)
        at clojure.lang.Compiler.load(Compiler.java:5857)
        at clojure.lang.RT.loadResourceScript(RT.java:340)
        at clojure.lang.RT.loadResourceScript(RT.java:331)
        at clojure.lang.RT.load(RT.java:409)
        at clojure.lang.RT.load(RT.java:381)
        at clojure.core$load$fn__4511.invoke(core.clj:4905)
        at clojure.core$load.doInvoke(core.clj:4904)
        at clojure.lang.RestFn.invoke(RestFn.java:409)
        at clojure.core$load_one.invoke(core.clj:4729)

好的,现在这对我没有帮助。响应中的第一个字符 I 有一个奇怪的字符 - 这显然不是 JSON。

我现在想把apaches HTTPClient的日志级别调到DEBUG,但是不知道如何通过leiningen设置系统属性。有什么建议吗?

【问题讨论】:

    标签: clojure oauth leiningen


    【解决方案1】:

    这是一种通过本地调试代理获取 clj-apache-http 的所有请求的方法:

    (require ['com.twinql.clojure.http :as 'http])
    
    (:content 
      (http/get (java.net.URI. "http://yourhost.com")
        :parameters (http/map->params {
          :default-proxy (http/http-host
            :host "127.0.0.1" 
            :port 8765)}) :as :string))
    

    【讨论】:

      【解决方案2】:

      或者,您可以将其添加到您的 log4j.properties:

      log4j.logger.httpclient.wire.header=DEBUG
      log4j.logger.httpclient.wire.content=DEBUG
      log4j.logger.org.apache.commons.httpclient=DEBUG
      log4j.logger.org.apache.http=DEBUG
      log4j.logger.org.apache.http.wire=DEBUG
      

      这会将所有通信转储到您的日志文件。这很有用,不想更改发出请求的代码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-12-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-26
        相关资源
        最近更新 更多