2016-10-11 4 views
0

私はjava.net.HttpURLConnectionを拡張するクラスを持っています。私はAndroid用に開発しており、ダイジェスト認証(URLConnectionでネイティブにサポートされていない)を扱っています。正しくHttpURLConnectionをオーバーライドする方法Javaのconnect()メソッド

元はsuper.connect()と呼ぶことができるようにconnect()メソッドをオーバーライドしたかったのですが、応答コードを見て、401が得られればダイジェスト認証を実行します。connectメソッドはオリジナルで抽象として宣言されていますjava.netクラスを実装する必要があります。私はこのメソッドのソースを見つけたいと思っていました(標準的なインスタンスを扱うときに呼び出すことができるので)ので、下に何が起こっているのかを私に見せてくれるものは見つかりませんでした。

私の次の選択肢はgetResponseCodeですが、もう一度connect()の本文を指定する必要があります。

だから誰でもHttpURLConnection.connect()が実際に何をしているか知っていますか?私はこれについて正しく行きますか?

答えて

0

私の研究によれば、実際にはURL.openConnection()をHTTPプロトコルで呼び出すと、具体的なオブジェクト/タイプとして返​​されるのはsun.net.www.protocol.http.HttpURLConnectionです。これは、抽象クラスjava.net.HttpURLConnectionを実装する必要がなく、より簡単に生活を遂行するために派生しなければならない具体的なクラスです。

この方法では、ダイジェスト認証などをサポートするconnect()メソッドを無効にすることができます。

関連する問題