c = Curl::Easy.perform("http://www.google.co.uk") puts c.body_str
c = Curl::Easy.new("http://www.google.co.uk") c.perform puts c.body_str
Curl::Easy.perform("http://www.google.co.uk") do |curl| curl.headers["User-Agent"] = "myapp-0.0" curl.verbose = true end
c = Curl::Easy.new("http://www.google.co.uk") do |curl| curl.headers["User-Agent"] = "myapp-0.0" curl.verbose = true end c.perform
c = Curl::Easy.new("http://www.google.co.uk") c.on_body { |data| print(data) } c.on_header { |data| print(data) } c.perform
c = Curl::Easy.new ["http://www.google.co.uk", "http://www.ruby-lang.org/"].map do |url| c.url = url c.perform c.body_str end
c = Curl::Easy.http_post("http://my.rails.box/thing/create", Curl::PostField.content('thing[name]', 'box', Curl::PostField.content('thing[type]', 'storage')
c = Curl::Easy.new("http://my.rails.box/files/upload") c.multipart_form_post = true c.http_post(Curl::PostField.file('myfile.rb'))
easy_options = {:follow_location => true} multi_options = {:pipeline => true} Curl::Multi.get('url1','url2','url3','url4','url5', easy_options, multi_options) do|easy| # do something interesting with the easy response puts easy.last_effective_url end
easy_options = {:follow_location => true, :multipart_form_post => true} multi_options = {:pipeline => true} url_fields = [ { :url => 'url1', :post_fields => {'f1' => 'v1'} }, { :url => 'url2', :post_fields => {'f1' => 'v1'} }, { :url => 'url3', :post_fields => {'f1' => 'v1'} } ] Curl::Multi.post(url_fields, easy_options, multi_options) do|easy| # do something interesting with the easy response puts easy.last_effective_url end
responses = {} requests = ["http://www.google.co.uk/", "http://www.ruby-lang.org/"] m = Curl::Multi.new # add a few easy handles requests.each do |url| responses[url] = "" c = Curl::Easy.new(url) do|curl| curl.follow_location = true curl.on_body{|data| responses[url] << data; data.size } end m.add(c) end m.perform do puts "idling... can do some work here, including add new requests" end requests.each do|url| puts responses[url] end
gem install taf2-curb
taf2 via github.com
You can download this project in either zip or tar formats.
You can also clone the project with Git by running:
$ git clone git://github.com/taf2/curb