我遇到了一个问题:我正在尝试将curl请求转换为java。因此,我尝试了makeCurl
JAR
文件,并尝试直接使用Apache http。但是,我无法弄清楚转换。我是Java
和Curl
的新手,所以我知道大部分问题都是对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请求返回的输出......
答案 0 :(得分:2)
尝试使用以下代码
Scanner scanner = new Scanner(inputStreamReader);
while(scanner.hasNextLine()){
System.out.println(scanner.nextLine());
}