gpt4 book ai didi

java - URL.openStream() 与 respone.getEntity().getContent() 相同吗?

转载 作者:行者123 更新时间:2023-12-02 09:43:40 25 4
gpt4 key购买 nike

当我向特定 URL 发出 get 请求时,将下载一个文件。我可以从两种方式获取InputStream

方法一

使用java.net包中的URL类。

java.net.URL url = new URL(downloadFileUrl);
InputStream inputStream = url.openStream();

方法2

使用ApacheHttpClient类。

org.apache.http.impl.client.CloseableHttpClient httpclient = new CloseableHttpClient();
HttpGet request = new HttpGet(url);
CloseableHttpResponse response = httpclient.execute((HttpUriRequest)request);
InputStream inputStream = response.getEntity().getContent();

这些方法一样吗?如果不是怎么办?通常或在特定情况下首选哪种方法?

我提供的例子很简单。假设我做了必要的事情使用 URLHttpClient 对象进行配置以获得成功响应。

最佳答案

这两种方法都会返回要从连接读取的输入流。这些方法之间没有区别。由于HttpClient是第三方库,因此您需要检查是否有任何漏洞并不断更新库。

唯一的区别是 HttpClient 仅支持 HTTP(s) 协议(protocol),而 URLConnection 也可用于其他协议(protocol),例如 FTP

在功能方面,Apache HttpClient比URLConnection有更多的微调选项

关于java - URL.openStream() 与 respone.getEntity().getContent() 相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56845773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com