我使用类 HttpURLConnection ,但我对一些方法感到困惑
假设 HttpURLConnection 对象名称为"c">
-
删除 c.connect(( 将导致连接成功,它将毫无问题地检索连接结果
-
c.getInputStream(( 和 (InputStream( c.grtContent(( 的输出是相同的,那么它们之间有什么区别
-
使用HttpGet将达到与HttpURLConnection相同的方法,那么这两种方法有什么区别
-
HttpURLConnection on URLConnection 有什么额外的好处
c = (HttpURLConnection( (URL(.openConnection((; c.connect((;添加或删除会产生相同的结果,那么这种方法有什么用 InputStream stream= c.getInputStream((; InputStream stream2 = (InputStream( c.getContent((; stream 和 stream2 是相同的,那么 getInputStream(( 和 getContent(( 有什么区别呢?
//===
=================================HttpGet c= new HttpGet(url(; HttpResponse response = c.execute(httpGet( InputStream stream3 = response.getEntity((.getContent((; 此外,Stream3 与 Stream 和 Stream2 相同;那么 HttpGet 和 HttpURLConnection 之间有何不同
来自 Android 文档:
[
HttpURLConnection
是] 支持HTTP特定功能的URLConnection
。
例如,从HttpURLConnection
中,您可以检索特定于 HTTP 的 HTTP 方法或 HTTP 状态代码。
相反,URLConnection
类是:
抽象类 URLConnection 是表示应用程序和 URL 之间的通信链接的所有类的超类
正常用法是:
- 创建
URL
对象 - 通过致电
url.openConnection()
获取URLConnection
。返回的对象可以强制转换为HttpURLConnection
- 通过调用
connection.getInputStream()
方法获取InputStream
-
关闭连接 (( (请参阅@EJP注释(disconnect()
方法
关于connect()
方法,来自 Oracle 文档:
并不总是需要显式调用连接方法来启动连接。依赖于连接的操作,如
getInputStream
、getOutputStream
等,将在必要时隐式执行连接。
HttpGet
和HttpURLConnection
之间的区别在于它们属于 2 个不同的库,但在功能上它们或多或少是相同的(现在HttpGet
已被弃用并删除,因此您不会在标准 Android API 中找到它(