Próbuję wgrać plik z ruby 1.8 i wygląda na to, że nie ma dobrych, gotowych rozwiązań. Wydaje się, że do działania potrzebna jest łatka lub rozwidlenie projektu innej firmy. Używałbym mechanize, ale faktycznie potrzebuję interfejsu z api XML i mechanize wydaje się być stworzona specjalnie do czynienia bezpośrednio ze stronami internetowymi. Próbowałem już RestClient, ale nie ma tej funkcjonalności dla wieloczęściowych formularzy po wyjęciu z pudełka, musisz użyć widelca projektu, aby go uruchomić. Podobne sytuacje wydają się istnieć dla Net: HTTP Myślę, że krawężnik byłby drogą do zrobienia, ponieważ mogę chcieć używać multicurl i tak do innych rzeczy, które planuję zrobić. Jednak na moim komputerze z systemem Windows nie mogę zainstalować klejnotu krawężnika. gem install curb daje błąd mówiąc, że muszę określić, gdzie znajduje się biblioteka curl. Próbowałem przekazywać opcje do extconf, ale bez powodzenia. Oto wyjściowy gem install krawężnika bez opcjiZainstaluj klejnot Ruby Curb w 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
Wszelkie pomysły jak mogę uzyskać to do pracy?
My ostatecznym rozwiązaniem było użycie ruby-klienta-klienta, który ma pełną obsługę przesyłania plików. Aby to zrobić, po prostu dodaj http://gems.github.com do swoich źródeł (jeśli jeszcze tego nie zrobiłeś), następnie zainstaluj reszta klienta-gem, Z tego miejsca możesz utworzyć wieloczęściowy post z dowolną liczbą pól/plików. Przykład: http://rdoc.info/projects/archiloque/rest-client Ten klient działa świetnie, bardzo go polecam. –