Method: Baidu::PCS::Client#add_task

Defined in:
lib/baidu/pcs/client.rb

#add_task(source_url, options = {}) ⇒ Hash

添加离线下载任务,实现单个文件离线下载

Examples:

返回的原始 JSON

{"task_id":432432432432432,"request_id":3372220525}

:task_id 

Parameters:

  • source_url (String)

    源文件的URL

  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • :save_path (String)

    下载后的文件保存路径(相对于应用根目录)如果未指定则获取源文件的URL名称,如果获取失败则使用当前时间

  • :timeout (Fixnum)

    下载超时时间

  • :expires (Fixnum)

    请求失效时间,如果有,则会校验

  • :rate_limit (Fixnum)

    下载限速,默认不限速

  • :callback (String)

    下载完毕后的回调

Returns:

  • (Hash)

See Also:



756
757
758
759
760
761
762
763
764
765
766
767
# File 'lib/baidu/pcs/client.rb', line 756

def add_task(source_url, options={})
  query = { source_url: source_url }
  query[:timeout] = options.delete(:timeout) || 3600
  save_path = options.delete(:save_path)
  unless save_path
    save_path = URI(source_url).path.split('/').last || Time.now.localtime.to_s
  end
  save_path = build_path save_path, true
  query[:save_path] = save_path
  query.update options
  post "#{BASE_PATH}/services/cloud_dl", query.update(base_query 'add_task')
end