我需要下载并保存文件。我正在尝试使用HTTPBuilder
因为它有简单的API而 支持Cookie 。我写了以下代码:
//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
下载文件。下载文件 并支持Cookie 的最佳方法是什么?答案 0 :(得分:4)
您是否尝试过使用自定义响应处理逻辑的HttpBuilder GET请求:
httpBuilder.get(uri: urlData.url, contentType: ContentType.BINARY) {
resp, inputStream ->
FileUtils.copyInputStreamToFile(inputStream)
}
如果HttpBuilder存在奇怪的问题,那么您可以随时使用已经完全支持cookie的Apache HttpClient API。
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。