请求方法
public static String postFileSend(String reqUrl, String[][] httpHeader, String filePath, String encode)
throws IOException {
if (StringUtils.isEmpty(reqUrl)) {
log.info("请求地址为空");
return "请求地址不能为空";
}
HttpPost post = new HttpPost(reqUrl);
if (httpHeader != null && httpHeader.length != 0) {
for (String[] headers : httpHeader) {
post.addHeader(headers[0], headers[1]);
}
}
if (!StringUtils.isEmpty(filePath)) {
File file = new File(filePath);
FileInputStream fileInputStream = new FileInputStream(file);
InputStreamEntity inputEntity = new InputStreamEntity(fileInputStream, file.length());
post.setEntity(inputEntity);
}
String httpResponse = null;
HttpClient httpclient = new DefaultHttpClient();
try {
httpResponse = httpclient.execute(post, new BasicResponseHandler());
} catch (ClientProtocolException e) {
e.printStackTrace();
log.error("请求异常:", e);
return null;
} catch (IOException e) {
e.printStackTrace();
log.error("请求异常:", e);
return null;
}
return httpResponse;
}
调用方法
@Test
public void testPostSend() throws IOException{
String reqUrl = "http://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=zh-CN&maxresults=10";
String[][] httpHeader = {{"Content-Type","audio/x-flac; rate=16000"}};
URL url = this.getClass().getResource("/");
String path = url.getPath()+"2.flac";
String res = HttpUtil.postFileSend(reqUrl, httpHeader, path, "utf-8");
System.out.println(res);
}
注意:
视频格式是.flac的
flac也有限制,22050 Hz+201kbps还正常,如果比这个大多了就不对了