2

このリンクからダウンロードしたファイルをjavaで使いたい...

http://translate.google.com/translate_a/ …</p>

上記のリンクをクリックすると、json 形式のファイルが取得されます。Javaコードを使用してこのファイルを取得したい。

私はこれを試しました

String word = "Moon";

System.setProperty("http.proxyHost", "172.20.0.100");
System.setProperty("http.proxyPort", "8080");

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();

エラー

Exception in thread "main" java.io.IOException: Server returned HTTP response code:  403 for URL: http://translate.google.com/translate_a/…
at sun.net.www.protocol.http.HttpURLConnect…
at java.net.URL.openStream(URL.java:1031)
at smsMain.main(smsMain.java:19)

直接ダウンロードは機能しています (クリックしてヒンディー語の「月」という単語の翻訳を参照してください) が、プログラムを介してエラーが表示されます !!!! どうして ???

この点で助けてください。前もって感謝します !!!

4

1 に答える 1

4

403 が表示されるのは、Google がこの方法でサービスを使用することを望んでいないためです: http://en.wikipedia.org/wiki/HTTP_403

ページの内容を見ると、次のように書かれています。That’s an error. Your client does not have permission to get URL / from this server.

プログラムで Google Translate API にアクセスするには、アクセス料を支払う必要がありますhttps://developers.google.com/translate/

于 2012-10-30T05:39:45.137 に答える