将特定的cUrl请求转换为Java /与Java

时间:2014-01-20 03:59:54

标签: java apache http curl

我遇到了一个问题:我正在尝试将curl请求转换为java。因此,我尝试了makeCurl JAR文件,并尝试直接使用Apache http。但是,我无法弄清楚转换。我是JavaCurl的新手,所以我知道大部分问题都是对API的不熟悉。但是,由于这是时间敏感的,我真的很感激帮助将这个相对简单的代码行转换为java。

curl \
  -H 'Authorization: Bearer O3YPXEJHQ6TWNFI7HIBEGLVDBZA2SEKN' \
  'https://api.wit.ai/message?q=my_message'

返回:

{

  "msg_id" : "e0d5c96d-ca14-43a8-bcf9-993e5c717155",

  "msg_body" : "my_message",

  "outcome" : {
    "intent" : "greetings",
    "entities" : { },
    "confidence" : 0.525

  }

如果我能把这个返回到一个字符串中,我可以完成剩下的程序。这一步虽然很痛苦。非常感谢您的帮助!

-Andrew

更新

好的:我现在可以发送请求了,服务器正在接收它,尽管我使用的是完全错误的代码。我尝试了java.net.URL / URLConnection库,并使用了这个:

package curlHttp;

import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;


public class curlStackTest {

    public static void main(String args[]) throws IOException {
        String stringUrl = "https://api.wit.ai/message?q=test";
        URL url = new URL(stringUrl);
        URLConnection uc = url.openConnection();

        uc.setRequestProperty("Authorization", "Bearer O3YPXEJHQ6TWNFI7HIBEGLVDBZA2SEKN");


        InputStreamReader inputStreamReader = new InputStreamReader(uc.getInputStream());

        // read this input

    }
}

现在我只需要弄清楚如何读取从cUrl请求返回的输出......

1 个答案:

答案 0 :(得分:2)

尝试使用以下代码

Scanner scanner = new Scanner(inputStreamReader);

while(scanner.hasNextLine()){
    System.out.println(scanner.nextLine());
}