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

私はあなたが何を意味するのか誤解しているかもしれませんが、あなたが実際にプロキシサーバーを持っているなら、プロキシサーバーがを検出したときにブラウザに301リダイレクトを発行できるはずですUnknownHostException

ブラウザへの応答で、応答のヘッダーに次の行のようなものを追加する必要があります。

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

それをヘッダーに追加する方法は、リクエストの処理方法に大きく依存します。プロキシハンドラコードを少し表示していただければ、さらに詳しい情報を提供できます。

于 2012-09-27T17:34:43.900 に答える