0

我正在尝试启动 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)

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

我现在想将 apaches HTTPClient 的日志级别提高到 DEBUG,但我不知道如何通过leiningen设置系统属性。有小费吗?

4

2 回答 2

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))
于 2011-02-24T21:18:36.303 回答
0

或者,您可以将其添加到您的 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

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

于 2013-02-12T10:52:10.683 回答