<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def upload_to_cache_server(fpath):
 """Uploads .torrent file to a cache server. Returns upload file URL. :rtype: str """

    url_base = 'http://torrage.info'
    url_upload = '%s/autoupload.php' % url_base
    url_download = '%s/torrent.php?h=' % url_base
    file_field = 'torrent'

    try:
        import requests

        response = requests.post(url_upload, files={file_field: open(fpath, 'rb')}, timeout=REMOTE_TIMEOUT)
        response.raise_for_status()

        info_cache = response.text
        return url_download + info_cache

    except (ImportError, requests.RequestException) as e:

        # Now trace is lost. `raise from` to consider.
        raise RemoteUploadError('Unable to upload to %s: %s' % (url_upload, e))