读取400错误clojure返回的json

时间:2012-04-23 17:45:53

标签: json clojure openurl http-status-code-400

我有一个网络服务,可以回复一些get请求,如下所示: http://developer.echonest.com/api/v4/artist/reviews?api_key=N6E4NIOVYMTHNDM8J&id=ARH6W4X1187B99274F&format=json&results=1&start=2 如果请求中的参数错误: http://developer.echonest.com/api/v4/artist/reviews?api_key=N6E4NIOVYMTHNDM8J&id=ARH6W4X1187B99274F&format=json&results=1&start=WRONG-STRING 服务器回复400和一些json解释出了什么问题。

现在在clojure中我想读json以确切地知道出了什么问题,我试过了 (clojure.java.io/reader wrong-url) 但它引发了异常

  

服务器返回HTTP响应代码:400为URL:
  http://developer.echonest.com/api/v4/artist/reviews?   API_KEY = N6E4NIOVYMTHNDM8J和ID = ARH6W4X1187B99274F&安培;格式= JSON&安培;结果= 1&安培;开始= E1   [抛出类java.io.IOException]

我怎样才能阅读json?

1 个答案:

答案 0 :(得分:0)

有时我只是真的希望看到线路上的内容,并且在那些情况下我会启动Wireshark网络数据包分析器。以下是我在这种情况下如何使用它(但它是一个功能强大且灵活的软件,你可以用它做很多漂亮的东西):

  1. 启动
  2. 选择Capture->选项(Ctrl-K)
  3. 选择要为其捕获流量的网络接口
  4. 输入host developer.echonest.com作为捕获过滤器
  5. 点击开始捕获按钮
  6. 然后在echonest.com上与您的服务进行互动 - 您将看到Wireshark窗口中的数据包。完成后,返回Wireshark并点击Capture-> Stop(Ctrl-E)。

    在数据包列表中,找到以GET /api/v4/arist/开头的那个...,右键单击并选择"关注TCP流" - 这将向您显示正在发送和接收的内容。