Java HttpURLConnection connect()、getInputStream()、getContent()、HttpGet
我使用HttpURLConnection类,但我对一些方法感到困惑 假设HttpURLConnection对象名为“c”Java HttpURLConnection connect()、getInputStream()、getContent()、HttpGet,java,android,networking,httpurlconnection,http-get,Java,Android,Networking,Httpurlconnection,Http Get,我使用HttpURLConnection类,但我对一些方法感到困惑 假设HttpURLConnection对象名为“c” 删除c.connect()将导致连接成功,并且它将毫无问题地检索连接结果 c.getInputStream()和(InputStream)c.grtContent()的输出是相同的,那么它们之间的区别是什么 使用HttpGet将达到与HttpURLConnection相同的方法,那么这两种方法之间的区别是什么呢 在URLConnection上,HttpURLConnectio
来自Android文档: [
HttpURLConnection
是一种URLConnection
,支持HTTP特定功能
例如,从HttpURLConnection
可以检索HTTP方法或HTTP状态代码,它们是特定于HTTP的
相反,URLConnection
类是:
抽象类URLConnection是表示应用程序和URL之间通信链接的所有类的超类
通常的用法是:
URL
对象url.openConnection()
获取URLConnection
。返回的对象可以强制转换为HttpURLConnection
connection.getInputStream()
方法获取InputStream
disconnect()
method)(请参阅@EJP注释)connect()
方法,请参阅Oracle文档:
您并不总是需要显式调用connect方法来启动连接。依赖于连接的操作,如getInputStream
,getOutputStream
等,将在必要时隐式执行连接
HttpGet
和HttpURLConnection
之间的区别在于,它们属于两个不同的库,但在功能上或多或少是相同的(现在HttpGet
已被弃用和删除,因此在标准的Android API中找不到它)不要在代码注释中提出问题。把它放到代码外可以看到的英语句子中。完成@EJP……4。通过关闭输入流来关闭连接disconnect()
对连接池有影响,通常不使用。实际上,文档建议在阅读完毕后断开连接。“读取响应正文后,应通过调用disconnect()关闭HttpURLConnection。”。您提到的东西听起来类似于旧Android版本(2.2之前)中存在的一个bug:“在Android 2.2(Froyo)之前,这个类有一些令人沮丧的bug。特别是,在可读的InputStream上调用close()可能会毒害连接池”该文档与Oracle文档不一致,这是错误的。抱歉,你是对的!我认为这一点都不好,Android文档建议做一件错误的事情,c.getInputStream()和(InputStream)c.grtContent()>>两者的区别是什么