使用 Unirest 获取请求以获取 JSON 流
Get request using Unirest to get a JSON stream
我正在尝试建立此 GET 请求:
http://api.bitcoincharts.com/v1/trades.csv?symbol=krakenUSD&start=1303100000
当我使用 postman 执行此操作时,效果非常好。但是,当我使用 HttpRequest 执行此操作时,请求的主体 returns 作为空对象。
HttpRequest r = Unirest.get("http://api.bitcoincharts.com/v1/trades.csv").queryString("symbol", "krakenUSD").queryString("start", "1303100000");
System.out.println(r.getUrl());
System.out.println(r.getBody().toString());
我在以下位置收到空指针错误:
System.out.println(r.getBody().toString());
提交此 GET 请求的正确方法是什么?我不确定我是否应该使用 queryString()?
首先,您提出的请求可能 return JSON。查看端点 URL:
很可能 return 是 CSV,而不是 JSON。
如果内容类型是'application/json'或者URL是*.json,你必须调用.asJson方法:
Unirest.post(URL)
.queryString("symbol", "krakenUSD")
.queryString("start", "1303100000")
.asJson()
我正在尝试建立此 GET 请求:
http://api.bitcoincharts.com/v1/trades.csv?symbol=krakenUSD&start=1303100000
当我使用 postman 执行此操作时,效果非常好。但是,当我使用 HttpRequest 执行此操作时,请求的主体 returns 作为空对象。
HttpRequest r = Unirest.get("http://api.bitcoincharts.com/v1/trades.csv").queryString("symbol", "krakenUSD").queryString("start", "1303100000");
System.out.println(r.getUrl());
System.out.println(r.getBody().toString());
我在以下位置收到空指针错误:
System.out.println(r.getBody().toString());
提交此 GET 请求的正确方法是什么?我不确定我是否应该使用 queryString()?
首先,您提出的请求可能 return JSON。查看端点 URL:
很可能 return 是 CSV,而不是 JSON。
如果内容类型是'application/json'或者URL是*.json,你必须调用.asJson方法:
Unirest.post(URL)
.queryString("symbol", "krakenUSD")
.queryString("start", "1303100000")
.asJson()