2016-10-11 29 views
0

我有一个扩展java.net.HttpURLConnection的类。我正在为Android开发并处理摘要身份验证(通过URLConnection本身不支持)。如何正确覆盖Java中的HttpURLConnection connect()方法

本来我想重写connect()方法,以便我可以调用super.connect()查看响应代码,然后在“引擎盖下”执行digest auth,如果我们得到401。connect方法在原始中声明为抽象java.net类,所以它必须执行。我想找到这个方法的源代码(因为你可以在处理标准实例时调用它),但找不到任何东西来显示下面发生了什么。

我的下一个选择是覆盖getResponseCode,但我必须再次提供connect()的机构。

那么有谁知道HttpURLConnection.connect()实际上在做什么?我是否正确地处理这个问题?

回答

0

所以根据我的研究,它实际上是sun.net.www.protocol.http.HttpURLConnection,它在使用HTTP协议调用URL.openConnection()时作为具体对象/类型返回。这是我应该从中获得的具体类,以使生活更轻松,而不必实施抽象类java.net.HttpURLConnection

这样我就可以覆盖connect()方法来支持摘要认证等。