Удивительно, но сообщения, состоящие из нескольких частей, в действительности отсутствуют в Net: HTTP. * thread от comp.lang.ruby, похоже, содержит фрагмент кода, который может оказаться полезным для выполнения необходимой кодировки:
BOUNDARY = "AaB03x"
def encode_multipartformdata(parameters = {})
ret = String.new
parameters.each do |key, value|
unless value.empty?
ret << "\r\n--" << BOUNDARY << "\r\n"
ret << "Content-Disposition: form-data; name=\"#{key}\"\r\n\r\n"
ret << value
end
end
ret << "\r\n--" << BOUNDARY << "--\r\n"
end