2012-10-27 87 views
1

要使用谷歌翻譯API我想通了這個網址如何從此網址獲取文件,使用java代碼?

http://translate.google.com/translate_a/t?client=t&text=revenge&hl=en&sl=en&tl=hi&ie=UTF-8&oe=UTF-8&multires=1&otf=1&ssel=3&tsel=3&sc=1

如果你點擊它,你將獲得以JSON格式與準確的翻譯文件。 要使用java程序檢索這個文件,我寫了下面的代碼。

String word = "revenge"; 

    System.setProperty("http.proxyHost", "172.30.0.16"); 
    System.setProperty("http.proxyPort", "3128"); 

    URL url = new URL("http://translate.google.com/translate_a/t?client=t&text="+word+"&hl=en&sl=en&tl=hi&ie=UTF-8&oe=UTF-8&multires=1&otf=1&ssel=3&tsel=3&sc=1"); 
    url.openConnection(); 
    InputStream reader = url.openStream(); 
    FileOutputStream writer = new FileOutputStream("t"); 
    byte[] buffer = new byte[153600]; 
    int bytesRead = 0; 
    while ((bytesRead = reader.read(buffer)) > 0) 
    { 
     writer.write(buffer, 0, bytesRead); 
     buffer = new byte[153600]; 
    } 
    writer.close(); 
    reader.close(); 

但它顯示了在螺紋以下錯誤

異常 「主」 產生java.io.IOException:服務器返回的HTTP響應代碼:403網址:http://translate.google.com/translate_a/t?client=t&text=Moon&hl=en&sl=en&tl=hi&ie=UTF-8&oe=UTF-8&multires=1&otf=1&ssel=3&tsel=3&sc=1 在sun.net.www.protocol.http .HttpURLConnection.getInputStream(HttpURLConnection.java:1403) 在java.net.URL.openStream(URL.java:1029) 在smsMain.main(smsMain.java:20

希望能得到一些幫助。因爲我們正在手動獲取文件,但使用程序禁止。

回答

0

Google Translate主頁:

谷歌翻譯API可作爲一種有償服務。有關詳細信息,請參閱價格 和常見問題解答頁面。

因此得到一個錯誤並不令人驚訝。

+0

但我怎麼能夠下載文件,雖然它是有償服務? – saj1919