I suggest you look into running wget.
wget can use password and username, so that is covered for you most likely.
If you can get wget running, run it with the option -nc (non-clobber) and run another instance of it at the same time. If the first instance does not appreciably slow down and the second instance runs at roughly the same speed as the first... the problem is not on the uploading side.
So, try running a third instance: if things are essentially the same as running two instancia

you simply need to be a bit more multi-channeled on your side.
Sometimes when I need to do a speedy download of a lot of data (from several files obviously, because -nc limits instances to only one per file) I will run several instances of wget at one time in different terminal windows:
$ wget -nc {insert other options here} -i getme_1
$ wget -nc {insert other options here} -i getme_2
$ wget -nc {insert other options here} -i getme_3
...
where the getme_* files are text files with the URLs that I wish to download. (They can all be one file, too, but you'll waste some time -nc'ing files that have already been downloaded.)
(There are of course other ways than a getme file to let wget know which files to download, but this certainly works.)
I hope this sheds a little light into your room.