code: def add_download_task(self, source_url, remote_path, selected_idx=(), **kwargs):
          
          if source_url.startswith('magnet:?'):
              print('Magnet: "%s"' % source_url)
              return self.add_magnet_task(source_url, remote_path, selected_idx, **kwargs)
          elif source_url.endswith('.torrent'):
              print('BitTorrent: "%s"' % source_url)
              return self.add_torrent_task(source_url, remote_path, selected_idx, **kwargs)
          else:
              print('Others: "%s"' % source_url)
              data = {
                  'method': 'add_task',
                  'source_url': source_url,
                  'save_path': remote_path,
              }
              url = 'http://{0}/rest/2.0/services/cloud_dl'.format(BAIDUPAN_SERVER)
              return self._request('services/cloud_dl', 'add_task', url=url,
                                   data=data, **kwargs)
docs: :param source_url: 离线下载目标的URL
          :param remote_path: 欲保存到百度网盘的目录, 注意以 / 打头
          :param selected_idx: 在 BT 或者磁力链的下载类型中, 选择哪些idx下载, 不填写为全部
          添加离线任务，支持所有百度网盘支持的类型