PyCURL предоставляет интерфейс для CURL из Python.
http://curl.haxx.se/libcurl/python/
Керл сделает все, что тебе нужно. Он может правильно передавать двоичные файлы и поддерживает множество кодировок. Тем не менее, вы должны убедиться, что правильная кодировка символов в качестве пользовательского заголовка при размещении файлов.
В частности, вам может понадобиться стиль загрузки файла. POST:
http://curl.haxx.se/docs/httpscripting.html (раздел 4.3)
С помощью curl (или любого другого HTTP-клиента) вам может потребоваться установить кодировку содержимого:
Content-Type: text / html; кодировка = UTF-8
Кроме того, помните, что заголовки запроса должны быть ascii, и это включает
URL (поэтому убедитесь, что вы правильно экранировали свои URL-адреса в Unicode.
Unicode экранирует заголовки HTTP) Это было недавно исправлено в Python:
http://bugs.python.org/issue3300
Надеюсь, это поможет, есть дополнительная информация по теме, включая настройку набора символов по умолчанию на вашем сервере и т. Д.