打开从Java的URL(Opening an URL from java)

2019-06-28 03:16发布

我们正在编写的BigQuery一个开源的JDBC驱动程序,并跑进以下问题:

我们希望我们的授权使用OAuth 2驱动程序安装的应用程序。 在Windows XP,Windows 7的64位,Windows 7 64位系统+ RDP它工作正常。 但是这是一个在Windows Server 2008 R2 + RDP失败的测试平台。

基本上,我们打开一个网页浏览器,他登录,我们赶上了回复,并验证用户。

下面是该网址打开的代码:

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

我想通了就是:Bar​​eBonesBrowserLaunch不开的联系,也没有了FileProtocolHandler。

该URL lenght正在250character一点点。

任何援助将不胜感激!

Answer 1:

使用java.net.HttpURLConnection

URL myURL = new URL("http://example.com/");
    URLConnection myURLConnection = myURL.openConnection();
    myURLConnection.connect();


Answer 2:

这是从不同的角度的建议。 (不知道这是一个选项,给你)

你正在试图解决的问题是使用OAuth 2和认证机制。 而不是打开一个浏览器捕捉它的响应。 现在已经有像可用库的Apache琥珀色在java中这样做纯粹

这是一个官方的琥珀例子 ,你可以参考一下。



Answer 3:

基本上,听起来不错,但这里是另一种方式,如果你想使用特定的浏览器打开(如果系统中的多个浏览器)

String url = "http:/devmain.blogspot.com/";
String[] browsers = { "firefox", "opera", "mozilla", "netscape" }; // common browser names
String browser = null;
for (int count = 0; count < browsers.length && browser == null; count++)
  if (Runtime.getRuntime().exec(new String[] { "which", browsers[count] }).waitFor() == 0)
    browser = browsers[count]; // have found a browser
Runtime.getRuntime().exec(new String[] { browser, url }) // open using a browser

更多详细的活动: http://devmain.blogspot.com/2013/10/java-how-to-open-url-in-browser.html



文章来源: Opening an URL from java
标签: java url