Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HttpURLConnection connect()、getInputStream()、getContent()、HttpGet_Java_Android_Networking_Httpurlconnection_Http Get - Fatal编程技术网

Java HttpURLConnection connect()、getInputStream()、getContent()、HttpGet

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

我使用HttpURLConnection类,但我对一些方法感到困惑

假设HttpURLConnection对象名为“c”

  • 删除c.connect()将导致连接成功,并且它将毫无问题地检索连接结果

  • c.getInputStream()和(InputStream)c.grtContent()的输出是相同的,那么它们之间的区别是什么

  • 使用HttpGet将达到与HttpURLConnection相同的方法,那么这两种方法之间的区别是什么呢

  • 在URLConnection上,HttpURLConnection的额外好处是什么

    c=(HttpURLConnection)(URL).openConnection(); c、 connect()//添加或删除会产生相同的结果,那么此方法的用途是什么 InputStream=c.getInputStream(); InputStream2=(InputStream)c.getContent(); //stream和stream2是相同的,那么getInputStream()和getContent()之间的区别是什么呢

    //============================

    HttpGet c=新的HttpGet(url); HttpResponse response=c.execute(httpGet) InputStream stream3=response.getEntity().getContent(); //此外,stream3与stream2相同;那么HttpGet和HttpURLConnection之间有什么不同呢


  • 来自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()>>两者的区别是什么