cURL:此URL不支持HTTP方法GET,错误405

时间:2013-02-13 10:58:31

标签: curl get

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

  

curl "https://...“& curl "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方法,所以我无法改变任何东西。请帮忙。

谢谢!


编辑:

网址(键,等等的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

2 个答案:

答案 0 :(得分:2)

采样率为8000的AMR-NB应该可以使用。我试过amr-wb而且失败了。

更长sample curl,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}

由&amp;连接的两个卷曲表达式在几秒钟内,你会看到结果。注意一个GET,一个POST并记下POST上的标题。

答案 1 :(得分:0)

默认情况下,

curl使用GET方法。您需要将其与-X POST一起使用,以便它使用POST。其次,您要上传文件,因此您还需要将其添加为参数:-d @filename

详细了解man page上的curl。