2016-06-25 5 views
0

com.sun.net.httpServer。*ライブラリを使用してhttpsプロキシサーバーを構築しようとしています。 次のように私は、サーバーのコンテキストを定義しています:HttpHandlerがhttpリクエストを処理できません

httpServer.createContext("/test", new MyHandler()); 

を、私は、ブラウザからURLを開く:「https://localhost:443/test」それは期待通りに動作しますが、サーバーの状況をこのように定義されている場合:

httpServer.createContext("/", new MyHandler()); 

私はのようなURLを入力したときに、私のハンドラが使用されていないことに気づく:「https://www.google.co.il/

私は何をしないのですか?

+0

編集内容を読みやすくするため、編集内容を元に戻しないでください。 –

+0

ウェブブラウザに 'https:// www.google.co.il'と入力しましたか? 'localhost:443'でリッスンしているHTTPプロキシサーバーを使用するようにブラウザを設定しましたか? – ck1

+0

HTTPSのURLは、デフォルトで「https://」で始まり、ポート443を使用します。 (from:https://en.wikipedia.org/wiki/HTTPS) –

答えて

0

この行は、サーバーのURLではなくコンテキストパスのみを変更します。 "https://localhost:443/" -

httpServer.createContext("/", new MyHandler()); 

だから、このような状況のために、あなたはこのURLでの応答を取得します。

+0

すべてのリクエストがハンドラを起動する方法でコンテキストを定義する方法はありませんか? –

+0

@GilYitzhakはい、コンテキスト(この場合は/ testまたは/)を定義できます。しかし、クライアントがサーバーにヒットするためにはサーバー名(http:// localhost)を提供する必要があります。 –

関連する問題