我是一个使用Java和wit.ai构建虚拟助手的开发者,但我在进行HTTP请求时遇到了困难。由于我不太擅长Java中的HTTP请求,所以一直收到400错误。
以下是我的代码:
以下是我的代码:
public class CommandHandler {
public static String getCommand(String command) throws Exception {
String url = "https://api.wit.ai/message";
String key = "TOKEN HERE";
String param1 = "20141022";
String param2 = command;
String charset = "UTF-8";
String query = String.format("v=%s&q=%s",
URLEncoder.encode(param1, charset),
URLEncoder.encode(param2, charset));
URLConnection connection = new URL(url + "?" + query).openConnection();
connection.setRequestProperty ("Authorization Bearer", key);
connection.setRequestProperty("Accept-Charset", charset);
InputStream response = connection.getInputStream();
return response.toString();
}
}
这是 wit.ai 给出的示例:
$ curl \
-H 'Authorization: Bearer $TOKEN' \
'https://api.wit.ai/message?v=20141022&q=hello'
我希望有人能够帮助我
Authoritation: Bearer [value]
,而在Java中则是Authorization Bearer: [value]
(假设TOKEN
和key
都已正确设置)。话虽如此,你可以打印url + "?" + query
来查看是否有进一步的差异(尽管我认为没有)。 - SJuan76connection.setRequestProperty("Authorization", "Bearer " + key);
。 - Julian