Я использую cURL 7.50.3 с SSL для загрузки XML-файла в мое приложение:
/usr/local/bin/curl -v -E /home/file.crt.pem --key /home/file.key.pem "https://www.myWebSite.com/file?type=interrogation&nom=10280502_20180905208.XML&doc=reponses&societeId=10000" --output /tmp/RESULT.XML
Загрузка файла заканчивается без ошибок, содержимое файла правильное (правильные данные, правильный формат XML ...) но усечено.Если я попытаюсь получить доступ к одному и тому же URL-адресу и загрузить один и тот же файл с помощью chrome или почтальона, я смогу получить весь файл.
К сожалению, я не могу предоставить общий доступ к файлу XML, поскольку он содержит личную информацию.
Я пробовал с огромными файлами, для загрузки которых требуется несколько минут, и с некоторыми небольшими файлами, которые загружаются за секунду.
Вот вывод cURL для маленьких файлов:
[5 bytes data]
< HTTP/1.1 200 OK
< Date: Mon, 01 Oct 2018 14:35:09 GMT
< Set-Cookie: JSESSIONID=3ADE96F2...; Path=/; Secure; HttpOnly
<
< Content-Disposition: attachment; filename=10280502_20180905208_RESULTATS.XML
< Content-Type:
< text/xml;charset=utf-8
< Content-Length: 5626406
< Vary: Accept-Encoding
< 0 5494k 0 0 0 0 0 0
--:--:-- --:--:-- --:--:-- 0{ [5 bytes data]
< 100 5494k 100 5494k 0 0 5208k 0 0:00:01 0:00:01
--:--:-- 5213k
< Connection #0 to host www.myWebSite.com left intact
Для этогоя получаю файл 5.6Mo, но должен получить 11.9Mo.
Для больших файлов я получил сообщение:
{ [5 bytes data]
89 3432k 89 3069k 0 0 103k 0 0:00:33 0:00:29 0:00:04 0* TLSv1.2 (IN), TLS alert, Client hello (1):
{ [2 bytes data]
89 3432k 89 3069k 0 0 100k 0 0:00:34 0:00:30 0:00:04 0* transfer closed with 371709 bytes remaining to read
89 3432k 89 3069k 0 0 100k 0 0:00:34 0:00:30 0:00:04 0
* Closing connection 0
} [5 bytes data]
* TLSv1.2 (OUT), TLS alert, Client hello (1):
} [2 bytes data]
curl: (18) transfer closed with 371709 bytes remaining to read
Есть идеи о том, что я делаю неправильно?Спасибо!
Редактировать: Добавление --ignore-content-length, похоже, решает проблему, но я не могу понять, почему.И вообще все равно не понимаю, почему это работает с навигатором и почтальоном, если они оба не используют эту опцию по умолчанию