cURL / Mailing Lists / curl-users / Single Mail


Problem with --continue-at

From: Roth, Kevin P. <>
Date: Wed, 21 May 2003 09:25:44 -0400


Consider the situation where I've got a partial file downloaded
(via HTTP for purposes of discussion), and I want to continue downloading.
Here's the command I'd use:

  curl.exe -C- -O

On today's attempt, I received the following message:

  curl: (33) HTTP server doesn't seem to support byte ranges. Cannot resume.

OK, so I'm curious what this means. I try adding the "-v" option, and I see
the request headers. I'm still curious, so I add the "-i" option, and I'm
expecting to see the response headers, but I don't!

All of a sudden, I remember that response headers get saved along with the
downloaded file, in the case where I've got the output redirected (using
-o or -O)...

At this point, I've now corrupted my partially downloaded binary file. Grr...

Options for fixing this:

1. I was hoping adding "-D-" would help, and it does, to some extent. It
   does indeed show the response headers, but it ALSO appears to be adding
   them to the output file (my binary file).

2. I tried "-D some.file.headers", with the same result -- it wrote them
   to my file, and ALSO appended them to the -O file.

3. To fix it "properly", I'd propose that the HTTP response headers should
   NOT be written to the output file... At least, not in the case where
   -v was used, because the natural inclination would be that response
   headers would show up in the same place as request headers.

   At the very least, in the case where -C is used, the response headers
   should NOT be written to the output file! Because they've ALREADY
   been dumped into that file (when the 1st few bytes were downloaded).

- Kevin

This email is sponsored by: ObjectStore.
If flattening out C++ or Java code to make your application fit in a
relational database is painful, don't do it! Check out ObjectStore.
Now part of Progress Software.
Received on 2003-05-21