curl_fetch_memory {curl} | R Documentation

## Fetch the contents of a URL

### Description

Low-level bindings to write data from a URL into memory, disk or a callback function. These are mainly intended for `httr`, most users will be better off using the `curl` or `curl_download` function, or the http specific wrappers in the `httr` package.

### Usage

    curl_fetch_memory(url, handle = new_handle())

    curl_fetch_disk(url, path, handle = new_handle())

    curl_fetch_stream(url, fun, handle = new_handle())

### Arguments

`url` | A character string naming the URL of a resource to be downloaded.
`handle` | a curl handle object
`path` | Path to save results
`fun` | Callback function. Should have one argument, which will be a raw vector.

### Details

The curl_fetch functions automatically raise an error upon protocol problems (network, disk, ssl) but do not implement application logic. For example for you need to check the status code of http requests yourself in the response, and deal with it accordingly.

Both `curl_fetch_memory` and `curl_fetch_disk` have a blocking and non-blocking C implementation. The latter is slightly slower but allows for interrupting the download prematurely (using e.g. CTRL+C or ESC). Interrupting is enabled when R runs in interactive mode or when `getOption("curl_interrupt") == TRUE`.

### Examples

    # Load in memory
    res <- curl_fetch_memory("http://httpbin.org/cookies/set?foo=123&bar=ftw")
    res$content

    # Save to disk
    res <- curl_fetch_disk("http://httpbin.org/stream/10", tempfile())
    res$content
    readLines(res$content)

    # Stream with callback
    res <- curl_fetch_stream("http://httpbin.org/stream/20", function(x){
      cat(rawToChar(x))
    })

[Package curl version 0.9.7 Index]