java curl get_如何从Java中的curl get请求获取文件?

我正在尝试使用API​​下载一些XBRL文件。为了做到这一点,我需要做一个卷曲的请求,就像这样:如何从Java中的curl get请求获取文件?

curl -XGET http://distribution.virk.dk/offentliggoerelser --data-binary @query_regnskaber.json

的想法是,按照我的理解,认为“@ query_regnskaber.json”是一个JSON文件/ JSON查询,我需要发送我的请求,并作为回报,我得到一个XBRL文件/一些数据。我正在使用Java与播放框架(虽然不专门使用播放框架,但也许有人知道一些播放功能来执行卷曲请求)。

这是我当前的代码:

String jsonStr =

"{" +

"\"query\": {" +

"\"bool\": {" +

"\"must\": [" +

"{" +

"\"term\": {" +

"\"offentliggoerelse.dokumenter.dokumentMimeType\": \"application\"" +

"}" +

"}," +

"{" +

"\"term\": {" +

"\"offentliggoerelse.dokumenter.dokumentMimeType\": \"xml\"" +

"}" +

"}," +

"{" +

"\"range\": {" +

"\"offentliggoerelse.offentliggoerelsesTidspunkt\": {" +

"\"from\": \"2016-12-01\"" +

"}" +

"}" +

"}" +

"]," +

"\"must_not\": []," +

"\"should\": []" +

"}" +

"}," +

"\"size\": 1000" +

"}";

String urlStr = "http://distribution.virk.dk/offentliggoerelser";

JSONObject jsonObj = new JSONObject(jsonStr);

URL myURL = new URL(urlStr);

HttpURLConnection urlCon = (HttpURLConnection)myURL.openConnection();

urlCon.setRequestProperty("Content-Type", "application/json; charset=UTF-8");

urlCon.setRequestMethod("GET");

urlCon.setDoInput(true);

urlCon.setDoOutput(true);

urlCon.connect();

OutputStream os = urlCon.getOutputStream();

os.write(jsonObj.toString().getBytes("UTF-8"));

os.close();

BufferedReader br = new BufferedReader(new InputStreamReader((urlCon.getInputStream())));

String output;

System.out.println("Output from Server .... \n");

while ((output = br.readLine()) != null) {

System.out.println(output);

}

urlCon.disconnect();

不顺心的事,我不知道是否是因为一些失踪的设置,我的代码或两者兼而有之。我在“urlCon.getInputStream()”调用中遇到了403错误。

我能找到的唯一文档是丹麦文。它还提到它使用ElasticSearch,我假设它用于查找可在“http://distribution.virk.dk/offentliggoerelser/_search”上找到的特定XBRL文件。找到特定的XBRL文件是我想要做的。以防万一,这里是链接到API documentation。

我正在使用可以在我的代码中的文档中找到的示例json查询。

谢谢你的帮助。

的json测试查询:

{

"query": {

"bool": {

"must": [

{

"term": {

"offentliggoerelse.dokumenter.dokumentMimeType": "application"

}

},

{

"term": {

"offentliggoerelse.dokumenter.dokumentMimeType": "xml"

}

},

{

"range": {

"offentliggoerelse.offentliggoerelsesTidspunkt": {

"from": "2014-10-01"

}

}

}

],

"must_not": [],

"should": []

}

},

"size": 1000

}

2016-12-15

Marcus

+1

如果您不允许访问此资源,则会返回'403 Forbidden'。在JSON文档中设置了凭据吗? –

+0

您是否尝试过测试您的json请求?我建议使用邮递员这样的工具,并确保API调用按照预期使用json请求返回。 –

+0

[http get request with body]的可能重复(http://stackoverflow.com/questions/27180431/http-get-request-with-body) –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值