2013-02-13 96 views
1

我試圖直接從命令行(在Windows 7上)對一個google服務器執行一個cURL查詢。該服務器屬於谷歌的語音API,並進行語音識別。因此需要上傳音頻文件,並將識別結果返回。所以我連接兩個cURL查詢,一個上傳,一個下載。 就像是:cURL:此方法不支持HTTP方法GET,錯誤405

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 
+0

什麼是確切的URL?另外,也許你應該使用官方的Google API來處理這樣的請求。這就是API的用途,Google可能會限制基於不正確訪問的訪問。 – JakeGould 2013-02-13 11:01:06

+0

Jup,我正在使用官方的Google API。但他們沒有提供有用的支持......這就是爲什麼我沒有給出確切的URL(那裏有一個關鍵)。 – user2067789 2013-02-13 11:08:09

+0

所以你不能通過URL去除這個問題的關鍵評論?如果你對此含糊不清,你希望任何人提供什麼樣的支持。 – JakeGould 2013-02-13 11:23:56

回答

0

捲曲默認使用GET方法。你需要使用-X POST,所以它使用POST。其次,你想上傳一個文件,所以你也需要添加一個參數:-d @filename

瞭解更多關於捲曲的man page

+0

謝謝!它仍然沒有工作,但我現在嘗試另一個角度。 – user2067789 2013-02-13 14:18:14

+0

我也試圖將語音文件提交給speech-api serverice,請讓我知道您正在使用的其他角度。 – mhrrt 2013-03-28 09:02:10

+0

@mhrrt:我最終得到了它,但仍然沒有完美無缺。無論如何,問題出在windows沒有所需的CA軟件包(可從curl網站下載)。在Linux中,這個軟件包是預先安裝的,所以沒有問題。 它只適用於.amr文件,因爲某些原因。 – user2067789 2013-03-28 14:02:29

2

採樣率爲8000的AMR-NB應該可以工作。我嘗試了amr-wb,但失敗了。

更長sample curl與日誌= V

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

{"result":[]} 
[email protected] 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} 

兩個幾秒鐘內通過&連接捲曲表達式,你看到結果。請注意一個GET,一個POST並記下POST上的標題。

+0

我似乎無法找到要獲取密鑰的頁面。 https://developers.google.com/apis-explorer沒有列出它... – Sharun 2013-06-28 11:45:27

+1

http://stackoverflow.com/questions/8832087/where-i-can-get-google-developer-key – 2013-06-28 13:15:40

+0

謝謝!我一直在搜索Google Speech API密鑰的變體,並且無處可去。 – Sharun 2013-06-28 19:23:09

相關問題