Estoy tratando de hacer cargas de archivos con ruby 1.8 y parece que no hay buenas soluciones listas para usar. Todos parecen necesitar un parche de terceros o una bifurcación de un proyecto para funcionar. Usaría mechanize pero en realidad necesito interactuar con una API xml y mechanize parece estar hecho específicamente para tratar directamente con páginas web. Probé RestClient pero no tiene esa funcionalidad para formularios multiparte de fábrica, tienes que usar un tenedor del proyecto para que funcione. Situaciones similares parecen existir para Net: HTTP . Estoy pensando que el bordillo sería el camino a seguir, ya que de todos modos deseo usar multicurl para otras cosas que planeo hacer. Sin embargo, en mi máquina de Windows parece que no puedo instalar la joya del bordillo. joya install curb da un error al decir que necesito especificar dónde vive la biblioteca curl. He intentado pasar opciones a extconf pero hasta ahora no he tenido suerte. Aquí está la salida de la gema instalar acera sin ninguna opciónInstalar la gema Ruby Curb en Windows XP
C:\ruby\lib\ruby\gems\1.8\gems\curb-0.5.4.0>gem install curb
Building native extensions. This could take a while...
ERROR: Error installing curb:
ERROR: Failed to build gem native extension.
C:/ruby/bin/ruby.exe extconf.rb
checking for curl-config... no
checking for main() in curl.lib... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--srcdir=.
--curdir
--ruby=C:/ruby/bin/ruby
--with-curl-dir
--without-curl-dir
--with-curl-include
--without-curl-include=${curl-dir}/include
--with-curl-lib
--without-curl-lib=${curl-dir}/lib
--with-curllib
--without-curllib
extconf.rb:12: Can't find libcurl or curl/curl.h (RuntimeError)
Try passing --with-curl-dir or --with-curl-lib and --with-curl-include
options to extconf.
Gem files will remain installed in C:/ruby/lib/ruby/gems/1.8/gems/curb-0.5.4.0 for inspection.
Results logged to C:/ruby/lib/ruby/gems/1.8/gems/curb-0.5.4.0/ext/gem_make.out
Alguna idea de cómo puedo conseguir que esto funcione?
Mi La solución final fue simplemente usar ruby rest-client, que es totalmente compatible con la carga de archivos. Para obtener esto, simplemente agregue http://gems.github.com a sus fuentes (si no lo ha hecho) luego instale gem rest-client Desde allí puede hacer publicaciones de varias partes con tantos campos/archivos como desee. Ejemplo aquí: http://rdoc.info/projects/archiloque/rest-client Este cliente funciona muy bien, lo recomiendo encarecidamente. –