odnochlen
Это напрямую зависит от того, что качать. А если файл на пару гиг?
Тогда лучше получать список url и качать более подходящим средством, например wget. И это всё простейшим скриптом с блэкджеком и шлюхами.
odnochlen
PUT где-то вообще работает и применяется?
В основном конечно get и post, но пичалька была если бы put понадобился, а его нет, потому что кто-то думает что плевать на полноценность реализации протокола в клиенте.
odnochlen
Решение с курлом теоретически может и возможно, да вот никто мне его показать не может. + как я уже написал, все ли опции curl доступны в pycurl?
А вы бы повежлевее общались с людьми, может кто и показал бы ^_^
c = pycurl.Curl()
c.setopt(c.URL, base_url + 'upload.cgi')
c.setopt(c.HTTPPOST,[ ("fieldname1", "value1"),
("fieldname2", "value2"),
("uploadfieldname",
(c.FORM_FILE, local_filename,
c.FORM_CONTENTTYPE, "application/x-gzip"))
])
Как скачивать в файл уже в прошлом посте писал.
А к вопросу все ли опции доступны в pycurl, то думаю, там вероятно конвертер какой-то используется который *.h сишной либы с константами преобразует в *.py, когда биндинг готовят. Что-то такое скорее всего.
В принципе, тут важно понимать, что API очень простое у curl и целиком построено на использовании пары функций и передачи им параметров в виде указателей и констант. Так что даже если когда то и встретиться какая-то экзотика которой нет в биндинге, её даже допиливать не нужно - просто посмотреть код нужного параметра в доках и вызвать setopt, к примеру.