我發送波形文件使用HTTP API call.In有文檔wit.ai他們表現出的exaple使用curl如何發送POST HTTP請求的Java進行wit.ai音頻
$ curl -XPOST 'https://api.wit.ai/speech?v=20141022' \
-i -L \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: audio/wav" \
--data-binary "@sample.wav"
我使用java和我必須使用java發送此請求,但我無法正確轉換此Java在curl請求。我無法理解什麼是-i,也不知道如何在java的post請求中設置數據二進制。
這我做了什麼至今
public static void main(String args[])
{
String url = "https://api.wit.ai/speech";
String key = "token";
String param1 = "20170203";
String param2 = command;
String charset = "UTF-8";
String query = String.format("v=%s",
URLEncoder.encode(param1, charset));
URLConnection connection = new URL(url + "?" + query).openConnection();
connection.setRequestProperty ("Authorization","Bearer"+ key);
connection.setRequestProperty("Content-Type", "audio/wav");
InputStream response = connection.getInputStream();
System.out.println(response.toString());
}
您應該對Java網絡有基本的瞭解,https://docs.oracle.com/javase/tutorial/networking/urls/readingWriting.html是一個很好的起點。 –
@jerry Chin我確實有,但我很困惑,並得到錯誤,我不親你能轉換嗎?請幫助 –
你可以發佈錯誤和你做了什麼? –