J'essaie de faire des téléchargements de fichiers avec ruby 1.8 et il semble qu'il n'y ait pas de bonnes solutions prêtes à l'emploi. Ils semblent tous avoir besoin d'un patch ou d'un fork d'un projet pour travailler. J'utiliserais mécaniser mais j'ai réellement besoin d'interface avec un api de xml et mécaniser semble être fait spécifiquement pour traiter directement des pages Web. J'ai essayé RestClient mais il n'a pas cette fonctionnalité pour les formulaires en plusieurs parties prêts à l'emploi, vous devez utiliser une fourche du projet pour le faire fonctionner. Des situations similaires semblent exister pour Net: HTTP Je pense que curb serait le chemin à parcourir puisque je peux vouloir utiliser multicurl de toute façon pour d'autres choses que je prévois de faire. Cependant, sur ma machine Windows je ne peux pas sembler installer la gemme de trottoir. gem install curb donne une erreur en disant que j'ai besoin de spécifier où vit la bibliothèque curl .. J'ai essayé de passer des options à extconf mais pas de chance jusqu'ici. Voici la sortie de gem install trottoir sans aucune optionInstaller Ruby Curb gem dans 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
Toute idée comment je peux obtenir ce travail?
Mon La solution finale consistait à utiliser ruby rest-client, qui supporte tous les téléchargements de fichiers. Pour obtenir ceci, ajoutez simplement http://gems.github.com à vos sources (si ce n'est pas déjà fait), puis faites gem install rest-client De là, vous pouvez faire un post multi-parties avec autant de champs/fichiers que vous le souhaitez. Exemple ici: http://rdoc.info/projects/archiloque/rest-client Ce client fonctionne très bien, je le recommande vivement. –