0

我有一个网络服务,可以在一些获取请求时回复,如下所示: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&format=json&results=1&start=e1 [抛出类 java.io.IOException]

我怎样才能读取json?

4

1 回答 1

0

有时我真的很想看看网络上发生了什么,在这种情况下,我启动了 Wireshark,一个网络数据包分析器。这是我在这种情况下使用它的方法(但它是一个强大而灵活的软件,你可以用它做很多漂亮的事情):

  1. 启动它
  2. 选择捕获-> 选项 (Ctrl-K)
  3. 选择要为其捕获流量的网络接口
  4. host developer.echonest.com作为捕获过滤器输入
  5. 点击开始捕获按钮

然后在 echonest.com 上与您的服务进行交互 - 您将看到数据包进入 Wireshark 的窗口。完成后,返回 Wireshark 并点击 Capture->Stop (Ctrl-E)。

在数据包列表中,找到以GET /api/v4/arist/... 开头的数据包,右键单击并选择“Follow TCP Stream”——这将准确显示正在发送和接收的内容。

于 2012-04-23T21:15:17.337 回答