Java如何检查网站是否被网络管理员阻止

时间:2014-05-27 05:04:28

标签: java

是否可以使用Java代码检查网络管理员是否阻止了任何URL或网站? 假设我使用 Gmail 凭据登录我的网站。现在,如果我在阻止 Gmail 的网络中打开网站,我如何告诉用户该网站在您的网络中被阻止,因此您无法从 Gmail 登录。

2 个答案:

答案 0 :(得分:2)

下面的代码会做你想要的,但它是一个最好的猜测

try {
    URL myURL = new URL("http://example.com/");
    URLConnection myURLConnection = myURL.openConnection();
    myURLConnection.connect();
} 
catch (MalformedURLException e) { 
    // new URL() failed
    // ...
} 
catch (IOException e) {   
    // openConnection() failed
    // ...
}

答案 1 :(得分:2)

为了确定您的网络管理员是否阻止某个网站,您需要检查收到的内容:

    URL url = new URL("http://www.gmail.com");
    URLConnection connection = url.openConnection();

    connection.connect();

    InputStream is = connection.getInputStream();

    byte[] b = new byte[1024];
    while(is.available()>0) {
        is.read(b);
        System.out.println(new String(b));
    }

您应该根据您可以决定的内容分析输入流中的内容。我尝试了它,它给了我网络管理员设置的HTML页面。

如果您的公司使用任何代理而不是您需要设置以下内容:

    System.setProperty("http.proxyHost", "<proxy address>");
    System.setProperty("http.proxyPort", "<proxy port>");

希望这有帮助