[R] ftp connections for uploading files
Duncan Temple Lang
duncan at wald.ucdavis.edu
Fri Jan 9 22:39:05 CET 2009
Hi Thomas
Rather than getting into the details of libcurl options
which are quite general and very flexible, I thought
it was easier to write an explicit ftpUpload() function
that takes care of the details.
You need a new version of the package (as it contains the function and
a small change to the C code), but I don't have the time to build the
Windows version for the next few days.
The function can be used as
ftpUpload("path/to/file", "ftp://server/path/to/target/file",
userpwd = "login:password")
and you can deal with contents in memory too rather than from a file.
HTH,
D.
Thomas Loridan wrote:
> Thanks a lot Duncan
>
> Sorry to insist with my questions but I am very lost with these Rcurl
> commands...
> could you point out the few ones I need to set up an ftp connection
> and just upload a file ?
>
> Greatly appreciated
>
> Thomas
>
> 2009/1/8 Duncan Temple Lang <duncan at wald.ucdavis.edu>:
>>
>> Prof Brian Ripley wrote:
>>> Try system() with curl or a decent ftp client (I don't see that package
>>> RCurl covers this, but it might despite its description only mentioning
>>> HTTP).
>> It does support FTP, and all of the protocols that are supported in
>> the installed libcurl, so it depends the configuration options for libcurl
>> itself.
>>
>> The protocols it handles can be found via the curlVersion() function, e.g.
>>
>>> curlVersion()
>> $age
>> [1] 3
>>
>> $version
>> [1] "7.16.3"
>>
>> $vesion_num
>> [1] 462851
>>
>> $host
>> [1] "powerpc-apple-darwin9.0"
>>
>> $features
>> ipv6 ssl libz ntlm gssnegotiate largefile
>> 1 4 8 16 32 512
>>
>> $ssl_version
>> [1] " OpenSSL/0.9.7l"
>>
>> $ssl_version_num
>> [1] 0
>>
>> $libz_version
>> [1] "1.2.3"
>>
>> $protocols
>> [1] "tftp" "ftp" "telnet" "dict" "ldap" "http" "file" "https"
>> [9] "ftps"
>>
>> $ares
>> [1] ""
>>
>> $ares_num
>> [1] 0
>>
>> $libidn
>> [1] ""
>>
>>
>>
>> sessionInfo()
>> R version 2.9.0 Under development (unstable) (2008-09-27 r46576)
>> i386-apple-darwin9.5.0
>>
>> locale:
>> C
>>
>> attached base packages:
>> [1] stats graphics grDevices datasets utils methods base
>>
>> other attached packages:
>> [1] ROOXML_0.1-0 Rcompression_0.4-0 RGoogleDocs_0.2-0
>> [4] SVGAnnotation_0.1-0 lattice_0.17-15 RCurl_0.92-0
>> [7] XML_1.99-0 RTools_0.1-0 bitops_1.0-4
>>
>> loaded via a namespace (and not attached):
>> [1] grid_2.9.0
>>
>>
>>
>>> From 'man curl'
>>>
>>> curl offers a busload of useful tricks like proxy support, user authen-
>>> tication, ftp upload, HTTP post, SSL connections, cookies, file trans-
>>> fer resume and more. As you will see below, the amount of features will
>>> make your head spin!
>>>
>>> Ftp protocols (and there are more than one) are fiendishly complicated,
>>> especially if proxies are involved.
>>>
>>> BTW, this is yet another case where knowing your OS would have helped give
>>> a more precise answer. See the posting guide.
>>>
>>> On Thu, 8 Jan 2009, Thomas Loridan wrote:
>>>
>>>> Hi all,
>>>>
>>>> I would like to upload some plots I create wth R via ftp or something
>>>> similar but I don t really understand which command/syntax I should
>>>> use:
>>>> should I go for make.socket + write.socket or try and create
>>>> environment variables like frp_proxy_user and then ftp my files? how?
>>>>
>>>> many thanks for your help
>>>>
>>>> Thomas
>>>>
>>>> --
>>>> Thomas Loridan
>>>> King's College email: thomas.loridan at kcl.ac.uk
>>>> webpage:http://geography.kcl.ac.uk/micromet/tloridan/index.htm
>>>>
>>>> ______________________________________________
>>>> R-help at r-project.org mailing list
>>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>>> PLEASE do read the posting guide
>>>> http://www.R-project.org/posting-guide.html
>>>> and provide commented, minimal, self-contained, reproducible code.
>>>>
>
>
>
More information about the R-help
mailing list