0

介绍

我正在用java制作代理服务器。每当用户在浏览器中输入未知主机(URL)时,代理服务器UnknownHostException通过执行以下代码进行处理:

try {
        Process p=Runtime.getRuntime().exec("cmd /c start http://www.mysite.com/unknownhosterror.htm"); 
    }
    catch(IOException io) {
        System.out.println("Error");
    }

这些代码行的作用是显示一个包含“无法显示此页面”的 html 文件。每当用户输入一个不存在的 URL 时。

问题

上面的代码会打开一个新选项卡并显示 www.mysite.com/unknownhosterror.htm 的内容。我想要的是重定向到它。

例如,我在 URL 栏中写了 www.nosuchsite.com。假设没有这样的站点,它会自动重定向到 www.mysite.com/unknownhosterror.htm 并显示“无法显示此页面。”。

我怎样才能做到这一点?

编辑注意:我不使用Servlet.

4

1 回答 1

0

我可能误解了您的意思,但是如果您确实有代理服务器,那么代理服务器检测到UnknownHostException.

在对浏览器的响应中,您需要在响应的标题中添加类似于以下几行的内容:

HTTP/1.1 301 Moved Permanently
Location: http://www.mysite.com/unknownhosterror.htm

如何将其添加到您的标头中很大程度上取决于您如何处理请求。如果您显示一些代理处理程序代码,我可以提供更多信息。

于 2012-09-27T17:34:43.900 回答