我正在尝试启动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。
我想现在将apache HTTPClient的日志级别提升到DEBUG,但我不知道如何通过 leiningen 设置系统属性。有什么提示吗?
答案 0 :(得分: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))
答案 1 :(得分: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
将所有通信转储到您的日志文件中。这很有用,不想更改发出请求的代码。