День добрый. Пытаюсь передать с помощью httplib файл в apache cgi.
Клиент:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib
import httplib
import sys
conn = httplib.HTTPConnection("127.0.0.1")
file = open("in.zip")
seek_data = 0
data = file.read(4096)
while data:
  conn.connect()
  size_data = sys.getsizeof(data)
  struct = {'seek': seek_data, 'data': data}
  encode_data = urllib.urlencode(struct)
  seek_data += size_data
  conn.request("POST", "/", encode_data)
  response = conn.getresponse()
  conn.close()
  data = file.read(4096)
Сервер:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# enable debugging
import cgitb
import sys
import os
import urlparse
cgitb.enable()
print "Content-Type: text/plain\r\n\r\n"
str = ''
for char in sys.stdin.readline():
  str += char
pars = urlparse.parse_qs(str)
data_block = pars['data'][0]
seek_block = pars['seek'][0]
size_data = sys.getsizeof(data_block)
if int(seek_block) == 0:
  if os.path.exists('out.zip'):
    os.remove('out.zip')
  dumped = open('out.zip', 'wb')
else:
  dumped = open('out.zip', 'a')
dumped.seek(int(seek_block), 0)
dumped.write(data_block)
Проблема в том, что процесс идёт очень долго. Как я понимаю, причина в открытии и закрытии соединения (иначе POST не работает). Увеличение размера чтения файла, результата не даёт.
Есть ли способ передать в apache cgi поток данных (из файла например) быстрее, чем через POST.
Заранее спасибо.

