我需要下载和保存文件。我尝试使用HTTPBuilder,因为它有简单的API,支持cookies。我写了以下代码:
//create new httpBuilder and set cookies
def httpBuilder = ...
def file = ...
def inputStream = httpBuilder.get(uri: urlData.url, contentType: ContentType.BINARY)
FileUtils.copyInputStreamToFile(inputStream)java.lang.OutOfMemoryError: Java heap space发生在def inputStream = httpBuilder.get...上,如何解决?HTTPBuilder下载文件并不是最好的选择。使用cookies下载文件的最佳方法是什么?发布于 2012-12-09 23:59:44
您是否尝试过使用自定义响应处理逻辑的HttpBuilder GET请求:
httpBuilder.get(uri: urlData.url, contentType: ContentType.BINARY) {
resp, inputStream ->
FileUtils.copyInputStreamToFile(inputStream)
}如果HttpBuilder有一些奇怪的问题,那么您可以始终使用尝试过的和真正的Apache HttpClient API,它具有完全的cookie支持。
HttpGet req = new HttpGet(url);
HttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(req);
// validate response code, etc.
InputStream inputStream = response.getEntity().getContent();在执行管理cookie的请求时,可以添加一个localContext。
https://stackoverflow.com/questions/13600780
复制相似问题