You can use the byte serving feature of HTTP 1.0. Here you add the range header to your request. For example adding
Range: bytes=9500-
will download the file from the 9500th Byte. So you would do something like this in the end:
- See how much bytes you have already downloaded.
- Start the download from the first missing byte and append the output to the file.
Notes:
- The server need to support this technique (is not always the case).
- You can use wget which has already a support for continuing the download (see parameter
--continue
)