如何在Java中正确重写HttpURLConnection connect()方法

如何在Java中正确重写HttpURLConnection connect()方法,java,android,httpurlconnection,Java,Android,Httpurlconnection,我有一个类扩展了java.net.HttpURLConnection。我正在为Android开发和处理digest auth(本机不支持通过URLConnection) 最初我想重写connect()方法,这样我就可以调用super.connect()查看响应代码,然后在得到401的情况下执行摘要身份验证。connect方法在原始java.net类中声明为抽象方法,因此必须实现它。我想找到这个方法的源代码(因为您可以在处理标准实例时调用它),但找不到任何东西来显示下面发生了什么 我的下一个选择是

我有一个类扩展了
java.net.HttpURLConnection
。我正在为Android开发和处理digest auth(本机不支持通过URLConnection)

最初我想重写
connect()
方法,这样我就可以调用
super.connect()
查看响应代码,然后在得到401的情况下执行摘要身份验证。connect方法在原始java.net类中声明为抽象方法,因此必须实现它。我想找到这个方法的源代码(因为您可以在处理标准实例时调用它),但找不到任何东西来显示下面发生了什么

我的下一个选择是重写
getResponseCode
,但我必须再次为
connect()
提供一个主体


那么有人知道
HttpURLConnection.connect()
实际上做了什么吗?我这样做对吗?

要想获得编写自己代码的灵感来源,请查看openjdk代码。
例如,grepcode.com,并且。
也可以在其他软件包中自由探索,您可能会找到编写自己代码的灵感来源,查看openjdk代码。例如,
grepcode.com,
也可以在其他软件包中自由探索,您可能会发现,

在我的示例中,使用HttpUrlConnection进行连接并返回JSON字符串。 见:
我在一个AsyncTask中使用了这个例子。

在我的示例中,使用HttpUrlConnection进行连接并返回一个JSON字符串。 见:
这个例子我用在一个异步任务中。

所以根据我的研究,实际上是
sun.net.www.protocol.http.HttpURLConnection
,当使用http协议调用
URL.openConnection()
时,它作为一个具体的对象/类型返回。这是我应该从中派生的具体类,以简化工作,而不必实现抽象类
java.net.HttpURLConnection


通过这种方式,我可以覆盖
connect()
方法来支持摘要身份验证等

因此,根据我的研究,实际上是
sun.net.www.protocol.http.HttpURLConnection
在使用http协议调用
URL.openConnection()
时作为具体对象/类型返回。这是我应该从中派生的具体类,以简化工作,而不必实现抽象类
java.net.HttpURLConnection

这样我就可以重写
connect()
方法来支持摘要身份验证等