Я использую pycurl для загрузки файла через пут и скрипт python cgi для получения файла на стороне сервера. По сути, код на стороне сервера:
while True:
next = sys.stdin.read(4096)
if not next:
break
#.... write the buffer
Это похоже на работу с текстом, но не с двоичными файлами (я на Windows).
Для двоичных файлов цикл, выполняющий stdin.read, прерывается после получения чего-либо размером от 10 до 100 КБ. Есть идеи?