0

科特林代码:

Fuel.download("http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_mgsasc.zip")
        .destination { response, url -> File("mega.zip").apply { println(absolutePath) } }
        .responseString()

这个特定的 URL返回length: -1并创建一个空文件。我该如何解决?

回复:

(--> http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_mgsasc.zip
"Body : (empty)"
"Headers : (1)"
Accept-Encoding : compress;q=0.5, gzip;q=1.0
, <-- 200 (http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_mgsasc.zip)
Response : OK
Length : -1
Body : ((empty))
Headers : (10)
Transfer-Encoding : [chunked]
Accept-Ranges : [bytes]
Server : [Microsoft-IIS/6.0]
ETag : ["39fa791f4d64d41:d118"]
Last-Modified : [Mon, 15 Oct 2018 06:05:50 GMT]
Age : [33]
Date : [Mon, 15 Oct 2018 13:36:58 GMT]
Via : [AX-CACHE-2.7:210]
X-Powered-By : [ASP.NET]
Content-Type : [application/x-zip-compressed]
, [Success: ])
4

1 回答 1

0

服务器根本不为 URL http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_mgsasc.zip发送“内容长度”标头

您看到的“长度:-1”可能来自 Fuel 库。

响应使用“chunked”的“Transfer-encoding:”,这是一种特殊的传输编码,不需要预先设置内容长度。

Fuel 看起来不支持“分块”传输编码。我已经在他们的 github 存储库中搜索了“传输编码”和“分块”,并且没有返回任何命中。

您可能想在库中推荐一个新功能。

于 2018-10-16T02:40:26.843 回答