HTTP двоичные файлы POST с помощью Python: краткие non-pycurl примеры?

JavaScript:

  • Object прототип может быть изменен. Каждый объект в Вашей программе получает новые свойства, и что-то, вероятно, повреждается.

  • Все объекты являются картами хеша, но трудно безопасно использовать их как таковой. В частности, если один из Ваших ключей, оказывается, __proto__, Вы в беде.

  • Никакое объектное закрытие во время ссылки на функцию. На самом деле никакое объектное закрытие вообще - вместо этого, this не установлено каждый раз, когда функция вызвана с объектной нотацией или new оператор. Результаты в большом количестве беспорядка, особенно при создании обратных вызовов события, потому что this не установлен на то, что ожидает программист.

    • Заключение: вызов функции без [1 116] объектная нотация или new оператор приводит к this устанавливаемый равный глобальному объекту, приводящему к большой поломке.
  • Оператор сложения, перегруженный, чтобы также выполнить конкатенацию строк, несмотря на эти две операции, являющиеся существенно отличающимся. Результатами в боли, когда значение Вы ожидаете быть числом, является на самом деле строка.

  • == и != операторы выполняют приведение типа. Сравнения между различными типами включают список правил, что никакой смертный не может помнить полностью. Это смягчено существованием === и !== операторы.

  • И null и undefined существуют, с тонко различными, все же избыточными значениями. Почему?

  • Странный синтаксис для установки цепочек прототипа.

  • parseInt(s) ожидает число C-стиля, таким образом, значения обработок с продвижением обнуляют как восьмеричные и т.д. Вы можете [по крайней мере 1 114], но поведение по умолчанию сбивает с толку.

  • Никакая область действия блока.

  • Может объявить ту же переменную несколько раз.

  • Может использовать переменную, не объявляя его, в этом случае это глобально и вероятно повреждает Вашу программу.

  • with { }.

  • Действительно трудный к документу с JavaDoc как инструменты.

5
задан si28719e 12 August 2009 в 05:07
поделиться

2 ответа

Для публикации файла требуется кодировка multipart / form-data , и, насколько мне известно, нет простого способа (например, однострочного или чего-то еще) сделать это с помощью stdlib. Но, как вы упомянули, существует множество рецептов.

Хотя они кажутся многословными, ваш вариант использования предполагает, что вы, вероятно, можете просто инкапсулировать их один раз в функцию или класс и не слишком беспокоиться, верно? Взгляните на рецепт в ActiveState и прочтите комментарии для предложений:

или посмотрите класс MultiPartForm в этом PyMOTW, который кажется довольно многоразовым:

Я считаю, что оба работают с двоичными файлами.

4
ответ дан 14 December 2019 в 01:13
поделиться

Как urllib стал более подробным? Вы строите postdict в основном так же, за исключением того, что вы начинаете с

postdict = [ ('userfile', open(wavfile, 'rb').read()) ]

. После того, как вы vave postdict,

resp = urllib.urlopen(url, urllib.urlencode(postdict))

, а затем вы получаете и сохраняете resp.read () и, возможно, отмените цитирование и попробуйте загрузку JSON, если необходимо . Вроде бы на самом деле короче! Так что же мне не хватает ...?

1
ответ дан 14 December 2019 в 01:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: