code: def _download_subs(self, download_link, videofile, referer='', sub_title=''):
          
          root = os.path.dirname(videofile)
          name, _ = os.path.splitext(os.path.basename(videofile))
          ext = ''
  
          headers = {
              'Referer': referer
          }
          res = self.session.get(download_link, headers=headers, stream=True)
          referer = res.url
  
          # 尝试从 Content-Disposition 中获取文件后缀名
          content_disposition = res.headers.get('Content-Disposition', '')
          if content_disposition:
              _, params = cgi.parse_header(content_disposition)
              filename = params.get('filename')
              if filename:
                  _, ext = os.path.splitext(filename)
                  ext = ext[1:]
  
          if ext == '':
              # 尝试从url 中获取文件后缀名
              p = urlparse.urlparse(res.url)
              path = p.path
              if path:
                  _, ext = os.path.splitext(path)
                  ext = ext[1:]
  
          if ext == '':
              # 尝试从字幕标题中获取文件后缀名
              _, ext = os.path.splitext(sub_title)
              ext = ext[1:]
  
          filename = '{}.{}'.format(name, ext)
          filepath = os.path.join(root, filename)
          with open(filepath, 'wb') as fp:
              for chunk in res.iter_content(8192):
                  fp.write(chunk)
  
          return filepath, referer
docs: 下载字幕
          videofile: 视频文件路径
          sub_title: 字幕标题（文件名）
          download_link: 下载链接
          referer: referer