2013-02-21 31 views
6

我想开从Java的链接我想这打开从Java链接,如何隐藏GET参数

public static void main(String[] args) { 
     try { 
     //Set your page url in this string. For eg, I m using URL for Google Search engine 
     String url = "http://myurl.com?id=xx"; 
     java.awt.Desktop.getDesktop().browse(java.net.URI.create(url));  
     } 
     catch (java.io.IOException e) { 
      System.out.println(e.getMessage()); 
     } 
    } 

它工作正常,但问题是,查询字符串是该网址。我不想将它作为查询字符串传递,因为它是一个秘密密钥。它应该被隐藏传递给网页请求。我怎样才能做到这一点?

+1

根本不是。你现在应该知道,当webbrowser使用你看不到的键打开一个url时,它就不在地址栏中。它将通过网络发送到相当可见的位置。 – 2013-02-21 11:59:11

回答

6

你不能,直接

你需要使用POST代替GET来隐藏值和URL不编码用来访问它的方法,所以它会总是使用GET。

可能可以想象写出一个HTML文件,该文件自动为所需的URL(使用一些JavaScript)做POST并打开它(使用file:// URL)。

但是请注意,“隐藏”这样的参数增加了没有真正的安全!想要知道他的PC发送到某个站点的价值的感兴趣的用户将能够看到它。它可能需要略微努力找到它,但它绝对不是不可能的。

+0

你能举一些例子吗 – Nighil 2013-02-21 17:39:59

+0

@Nighil:不。如果你明白我在写什么,那不会是你的下一个问题。如果你不明白,那么一个例子不会有帮助。 – 2013-02-21 17:40:45

+0

如果用户复制网址,那么它会导致这个问题,这就是为什么我想隐藏查询字符串。只有我需要的是用户只能通过java浏览本网站 – Nighil 2013-02-21 17:45:40

1

如果不需要在浏览器中显示特定的url,那么您可以将该链接作为HttpURLConnection处理(请参阅JavaDoc)。

here你有个例子。