We use curl on our openvms system to successfully download many files - no problems. We have a particularly big ZIP file that I wanted to try and multi-part download in parallel using the --range flag of curl to get different parts of the file that we can then append to one large ZIP.
So as a test I tried it out on a smaller file of approx 50 Mbtyes. Using this sequence of commands it worked perfectly: Note that the curl commands will normally be run in parallel, not just one after the other as shown
$ curl --range 0-5000000 bigfile.zip -o part1.zip
$ curl --range 5000001-50000000 bigfile.zip -o part2.zip
When the above two commands complete I do
$ copy part1.zip,part2.zip final.zip
and the following unzip works as expected
$ unzip -ao final.zip
Ok, so I thought I would try and split it 3 ways now e.g
$ curl --range 0-5000000 bigfile.zip -o part1.zip
$ curl --range 5000001-30000000 bigfile.zip -o part2.zip
$ curl --range 30000001-50000000 bigfile.zip -o part3.zip
Three zips are produced as expected , but this time after
$ copy part1.zip,part2.zip,part3.zip final.zip
on the unzip I get ....
$ unzip -ao final.zip
Archive: final.zip;1
**warning final.zip;1: 1 extra byte at beginning or within zipfile**
(attempting to process anyway)
file #1: bad zipfile offset (local header sig): 1
(attempting to re-compensate)
inflating: CompanyRel.txt [text]
error: invalid compressed data to inflate
[ WriteRecord: sys$put failed ]
[ %RMS-F-RSZ, invalid record size ]
[ %NONAME-W-NOMSG, Message number 00000000 ]
Any suggestions as to how to fix would be welcome