(Отказ от ответственности: я не использовал библиотеку плакатов. Предлагаемое решение - мое лучшее предположение.)
Из постеров, похоже, это должно работать.
Я бы попробовал следующее (передает содержимое файла вместо итератора открытого файла, должно исправить проблему с итеративным телом):
params = {
"file": open("captcha.jpg", "rb").read(),
"function" : "picture2",
"username" : "uname",
"password" : "pwd",
"pict_to" : 0,
"pict_type" : 0
}
Предложение 2:
Или попробуйте:
из multipart.encode импорта MultiPartParam
params = [
MultiPartParam("file", fileobj=open("captcha.jpg", "rb")),
("function", picture2"),
("username", "uname"),
("password", "pwd"),
("pict_to", 0),
("pict_type", 0),
]
Если это не удается с той же ошибкой, попробуйте указать для параметра filesize
значение MultiPartParam
.