On 2014年8月4日 20:57:57 GMT+04:00, Dmitry Bogatov <kact...@gnu.org> wrote:
>It seems that `http-get` do not manage SSL, and >GNU site 302 to https version (or is it just my proxy config?) Thank you, Dmitry. It seems to be your setup, as your code example works for me also on the GNU site. >So here is example for other url: > > (use-modules ((web uri) #:select (string->uri)) > ((web client) #:select (http-get))) > (use-modules (rnrs io ports)) > > (define *url* > "http://hackage.haskell.org/package/HaTeX-2.1.3/HaTeX-2.1.3.tar.gz") > > (call-with-values > (lambda () (http-get (string->uri *url*))) > (lambda (res-headers res-body) > (with-output-to-file "some.tar.gz" > (lambda () (put-bytevector (current-output-port) res-body)) > #:binary #t))) Thank you for this, it's exactly what I was looking for. Also, is there a way to determine the exact file size, so I could check before downloading, if the file has already been downloaded, i.e. same size on disk as on the web, or if the prior download failed, i.e. smaller size on disk, than the web? I thought the headers would have the size info of the tarball, but I see no such information in res-headers... But surely, the information must be available as any download tool like wget or a browser is able to determine the download file size. How can I do this? -- 白熊