如何避免在 commons-httpclient 中调用 ChunkedInputStream.exhaustInputStream(this)
How to avoid calling ChunkedInputStream.exhaustInputStream(this) in commons-httpclient
我有一个通过添加 header "Range:bytes=a-" 来随机访问 http 资源的场景,我知道 http 请求的 a 值,但不知道结束边界。所以... http 请求发送并返回响应流。当我读完我需要的信息时(还没有读过流),我必须关闭流,然后问题出现了:关闭调用必须读取该流中的所有数据并且花费太多时间。
所以,我猜测httpclient中有一个套接字池,所以客户端必须读取所有数据以确保下一个响应流正确。
那么,为了避免这个问题,keepalive disabled有效吗?或者其他什么方法可以达到这个效果?
无法通过使用 commons-httpclient 来避免这种情况。所以我改用了 HttpURLConnection。
我有一个通过添加 header "Range:bytes=a-" 来随机访问 http 资源的场景,我知道 http 请求的 a 值,但不知道结束边界。所以... http 请求发送并返回响应流。当我读完我需要的信息时(还没有读过流),我必须关闭流,然后问题出现了:关闭调用必须读取该流中的所有数据并且花费太多时间。
所以,我猜测httpclient中有一个套接字池,所以客户端必须读取所有数据以确保下一个响应流正确。
那么,为了避免这个问题,keepalive disabled有效吗?或者其他什么方法可以达到这个效果?
无法通过使用 commons-httpclient 来避免这种情况。所以我改用了 HttpURLConnection。