1

我正在尝试直接从命令行(在 Windows 7 上)对谷歌服务器进行 cURL 查询。服务器属于google的speech api,做语音识别。因此需要上传音频文件,并返回识别结果。所以我连接了两个 cURL 查询,一个上传,一个下载。像那样:

卷曲"https://...“&卷曲"https://...

我得到以下错误:

<HTML>
<HEAD>
<TITLE>HTTP method GET is not supported by this URL</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>HTTP method GET is not supported by this URL</H1>
<H2>Error 405</H2>
</BODY>
</HTML>
{"result":[]}

由于我不直接使用 GET 方法,我无法更改任何内容。请帮忙。

谢谢!


编辑:

URLs(用 x、y 和 z 表示键等):

curl "https://www.google.com/speech-api/full-duplex/v1/down?pair=xxxxxx" & curl "https://www.google.com/speech-api/full-duplex/v1/up?lang=de-DE&lm=dictation&client=yyyy&pair=xxxxxx&key=zzzzzzz" --header "Content-Type: audio/amr; rate=16000" --data-binary @test.amr
4

2 回答 2

2

采样率为 8000 的 AMR-NB 应该可以工作。我尝试了amr-wb,但失败了。

更长的样本卷曲,log=V

rob@ beacon$ curl "https://www.google.com/speech-api/full-duplex/v1/down?pair=12345678901234567" & curl -X POST "https://www.google.com/speech-api/full-duplex/v1/up?lang=en-US&lm=dictation&client=chromium&pair=12345678901234567&key=.....PMU" --header "Transfer-Encoding: chunked" --header "Content-Type: audio/x-flac; rate=22050"  --data-binary @11.rec
[1] 16320

{"result":[]}
rob@ beacon$ {"result":[{"alternative":[{"transcript":"hi how are you we have to go down to the store and see if we can get the groceries for this week so we can bring them back in the car","confidence":0.971865}],"final":true}],"result_index":0}

在几秒钟内用 & 连接两个 curl 表达式,你会看到结果。注意一个 GET,一个 POST 并注意 POST 上的标题。

于 2013-06-17T01:04:52.973 回答
0

curl 默认使用 GET 方法。您需要使用它,-X POST因此它使用 POST。其次,您要上传文件,因此您也需要将其添加为参数:-d @filename.

在手册页上阅读有关 curl 的更多信息。

于 2013-02-13T11:09:25.760 回答