0

我想--limit-rate为 Curb gem(curb 的 ruby​​ 界面)完成的下载设置选项。

在卷曲中:

curl --limit-rate 10K http://server/large_file.rar

对于 Curb 的下载,我有这个代码(加上进度条,但这与这个问题无关):

require 'rubygems'
require 'curb'

request = 'http://server/large_file.rar'    
filename = 'large_file.rar'

f = open(filename, 'wb')

c = Curl::Easy.new(request) do |curl|    
  curl.on_body { |d| f << d; d.length }
end

c.perform

f.close

如何--limit-rate在此脚本中设置选项?据我所知,没有简单的方法(我已经阅读了 rdoc 并进行了一些谷歌搜索)。

4

1 回答 1

0

CURLOPT_MAX_RECV_SPEED_LARGE你可以通过设置来做到这一点libcurl。通过curbAPI,您可以:

c = Curl::Easy.new(request) do |curl|
  curl.set(:max_recv_speed_large, download_limit)
  curl.on_body { |d| f << d; d.length }
end

其中download_limit是最大下载速率的整数,以每秒字节数为单位。

欲了解更多信息:http ://curl.haxx.se/libcurl/c/curl_easy_setopt.html#CURLOPTMAXRECVSPEEDLARGE

于 2011-08-29T16:50:21.543 回答