curl upload fails on slow network connection

I am setting up a script at a customer’s location where their DSL connection is rather slow (approximately 75 KB/sec) and a curl command in the script keeps failing on some “large” uploads. This exact same script runs in other locations just fine, but the other locations have much faster cable internet access.

The command I’m running is essentially:

try
set ftpUploadScript to "curl -T " & quoted form of pathToFileToUpload & space & quoted form of ("ftp://user:pass@PathToThisFileOnline)
do shell script ftpUploadScript
end try

However on some of the larger files the script tried to upload I end up getting an error from this:

curl: (28) FTP response timeout

The error message comes back along with the output of the curl upload, I see the long list of the upload progress, and I can see that the upload actually completed. For example…

99 76.9M 0 0 99 76.6M 0 43796 0:30:41 0:30:33 0:00:08 43525
99 76.9M 0 0 99 76.6M 0 43795 0:30:41 0:30:34 0:00:07 43001
99 76.9M 0 0 99 76.6M 0 43796 0:30:41 0:30:35 0:00:06 43516
99 76.9M 0 0 99 76.7M 0 43795 0:30:41 0:30:36 0:00:05 43360
99 76.9M 0 0 99 76.7M 0 43795 0:30:41 0:30:37 0:00:04 43416
99 76.9M 0 0 99 76.8M 0 43795 0:30:41 0:30:38 0:00:03 43508
99 76.9M 0 0 99 76.8M 0 43795 0:30:41 0:30:39 0:00:02 43701
99 76.9M 0 0 99 76.8M 0 43794 0:30:42 0:30:40 0:00:02 42955
100 76.9M 0 0 100 76.9M 0 43794 0:30:42 0:30:41 0:00:01 43591
100 76.9M 0 0 100 76.9M 0 43769 0:30:43 0:30:43 --:–:-- 34278
100 76.9M 0 0 100 76.9M 0 43745 0:30:44 0:30:44 --:–:-- 25678
100 76.9M 0 0 100 76.9M 0 43721 0:30:45 0:30:45 --:–:-- 17358
100 76.9M 0 0 100 76.9M 0 43697 0:30:46 0:30:46 --:–:-- 8940
100 76.9M 0 0 100 76.9M 0 43674 0:30:47 0:30:47 --:–:-- 0
100 76.9M 0 0 100 76.9M 0 43650 0:30:48 0:30:48 --:–:-- 0
100 76.9M 0 0 100 76.9M 0 43626 0:30:49 0:30:49 --:–:-- 0
100 76.9M 0 0 100 76.9M 0 43603 0:30:50 0:30:50 --:–:-- 0
100 76.9M 0 0 100 76.9M 0 43579 0:30:51 0:30:51 --:–:-- 0
100 76.9M 0 0 100 76.9M 0 43556 0:30:52 0:30:52 --:–:-- 0
100 76.9M 0 0 100 76.9M 0 43532 0:30:53 0:30:53 --:–:-- 0
100 76.9M 0 0 100 76.9M 0 43509 0:30:54 0:30:54 --:–:-- 0
100 76.9M 0 0 100 76.9M 0 43485 0:30:55 0:30:55 --:–:-- 0
100 76.9M 0 0 100 76.9M 0 43462 0:30:56 0:30:56 --:–:-- 0
100 76.9M 0 0 100 76.9M 0 43438 0:30:57 0:30:57 --:–:-- 0
100 76.9M 0 0 100 76.9M 0 43415 0:30:58 0:30:58 --:–:-- 0
100 76.9M 0 0 100 76.9M 0 43392 0:30:59 0:30:59 --:–:-- 0
100 76.9M 0 0 100 76.9M 0 43368 0:31:00 0:31:00 --:–:-- 0
100 76.9M 0 0 100 76.9M 0 43345 0:31:01 0:31:01 --:–:-- 0

Any suggestions for how I can recover from this error? Maybe if the error is #28 I should assume all is actually OK and proceed with my script?