Google 言語検出 API を使用しようとしています。現在、次のように Google ドキュメントで入手可能なサンプルを使用しています。
public static String googleLangDetection(String str) throws IOException, JSONException{
String urlStr = "http://ajax.googleapis.com/ajax/services/language/detect?v=1.0&q=";
// String urlStr = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=Paris%20Hilton";
URL url = new URL(urlStr+str);
URLConnection connection = url.openConnection();
// connection.addRequestProperty("Referer","http://www.hpeprint.com");
String line;
StringBuilder builder = new StringBuilder();
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
while((line = reader.readLine()) != null) {
builder.append(line);
}
JSONObject json = new JSONObject(builder.toString());
for (Iterator iterator = json.keys(); iterator.hasNext();) {
String type = (String) iterator.next();
System.out.println(type);
}
return json.getString("language");
}
しかし、http エラー コード '406' が表示されます。
何が問題なのか理解できませんか?以下のGoogle検索クエリ(コメント済み)のように、正常に機能しています。
結果の言語検出 URL 自体は、Firefox または IE で実行すると正常に機能しますが、Java コードでは失敗します。
私が間違っていることはありますか?
前もって感謝します
アシッシュ