2015-04-20 7 views
2

Я пытаюсь загрузить фотографии с сайта, который требует моего пользователя и пароль. Чтобы сохранить мою аутентификацию, я создаю объект класса «CURLHandle», который хранит мои учетные данные. Я не понимаю, как передать объект с помощью файлов cookie, когда мне нужно загрузить.Как загрузить файл с помощью файлов cookie с помощью Rcurl

#install_github("omegahat/RHTMLForms") 
library(RHTMLForms) 
library(RCurl) 
require(XML) 

#create connection function from login form 
login<-getHTMLFormDescription("http://mysite//Login.php") 
login<-login$Login 
submit<-createFunction(login) 

#create section with cookiefile 
curl = getCurlHandle(cookiefile = "", verbose = TRUE) 

#Log in 
submit(Password=mypass,User=myuser,.curl = curl) 

#now I can navigate on the site 
my_page<-getURL("http://mysite/table.php?id=988", curl = curl) 

#I get for the id 988 an Url png image 
my_picture<-getHTMLExternalFiles(my_page)[1] 
my_picture<-paste("http://mysite/",my_picture,sep="") 


setwd("c:\\temp") 
download.file(my_picture, 'my_pic.png', extra = 'curl') 

    > trying URL '...' 
    > Error in download.file(my_picture, "my_pic.png", extra = "curl") : 
    > cannot open URL '...' 
+1

'myBin <- getBinaryURL (my_picture, локон = локон)' а затем 'writeBin (myBin "my_pic.png")' должна работать. – jdharrison

+0

Ох, спасибо вам, мух. Это хорошо! – dax90

ответ

2

Вы можете использовать getBinaryURL:

myBin <- getBinaryURL(my_picture, curl = curl) 
writeBin(myBin, "my_pic.png") 
Смежные вопросы