+ * - cookiesession: bool, accept (true) or reset (false) sessioncookies
+ * - resume: int, byte offset to start the download from;
+ * if the server supports ranges
+ * - range: array, array of arrays, each containing two integers,
+ * specifying the ranges to download if server support is
+ * given; only recognized if the resume option is empty
+ * - maxfilesize: int, maximum file size that should be downloaded;
+ * has no effect, if the size of the requested entity is not known
+ * - lastmodified: int, timestamp for If-(Un)Modified-Since header
+ * - etag: string, quoted etag for If-(None-)Match header
+ * - timeout: int, seconds the request may take
+ * - connecttimeout: int, seconds the connect may take
+ * - onprogress: mixed, progress callback
+ * - interface: string, outgoing network interface (ifname, ip or hostname)
+ * - portrange: array, 2 integers specifying outgoing portrange to try
+ * - ssl: array, with the following options:
+ * cert: string, path to certificate
+ * certtype: string, type of certificate
+ * certpasswd: string, password for certificate
+ * key: string, path to key
+ * keytype: string, type of key
+ * keypasswd: string, pasword for key
+ * engine: string, ssl engine to use
+ * version: int, ssl version to use
+ * verifypeer: bool, whether to verify the peer
+ * verifyhost: bool whether to verify the host
+ * cipher_list: string, list of allowed ciphers
+ * cainfo: string
+ * capath: string
+ * random_file: string
+ * egdsocket: string