Abriendo una URL desde java
estamos escribiendo un controlador jdbc de código abierto para Bigquery, y encontramos el siguiente problema:
Queremos autorizar nuestro controlador con Oauth 2 como una aplicación instalada. En Windows XP, Windows 7 x64, Windows 7 x64 + RDP funciona bien. Pero en el banco de pruebas, que es un servidor de Windows 2008 R2 + RDP, falla.
Básicamente, abrimos un navegador web, él inicia sesión, detectamos la respuesta y autentificamos al usuario.
Aquí está el código para la apertura de url:
private static void browse(String url) {
// first try the Java Desktop
logger.debug("First try the Java Desktop");
if (Desktop.isDesktopSupported()) {
Desktop desktop = Desktop.getDesktop();
if (desktop.isSupported(Action.BROWSE))
try {
desktop.browse(URI.create(url));
return;
} catch (IOException e) {
// handled below
}
}
// Next try rundll32 (only works on Windows)
logger.debug("Try the rundll32");
try {
Runtime.getRuntime().exec(
"rundll32 url.dll,FileProtocolHandler " + url);
return;
} catch (IOException e) {
// handled below
}
// Next try browsers
logger.debug("Try with browsers");
BareBonesBrowserLaunch.openURL(url);
}
Lo que descubrí es: BareBonesBrowserLaunch no abre el enlace, ni tampoco el FileProtocolHandler.
La longitud de la URL es un poco menor de 250 caracteres.
¡Cualquier ayuda sería apreciada!