Ответ 1
В общем, вам не нужно создавать файл cookie, если вы не хотите изучать файлы cookie.
Учитывая это, на самом деле, веб-серверы используют данные агента, перенаправление и скрытые данные, но это должно помочь:
library(RCurl)
#Set your browsing links
loginurl = "http://api.my.url/login"
dataurl = "http://api.my.url/data"
#Set user account data and agent
pars=list(
username="xxx"
password="yyy"
)
agent="Mozilla/5.0" #or whatever
#Set RCurl pars
curl = getCurlHandle()
curlSetOpt(cookiejar="cookies.txt", useragent = agent, followlocation = TRUE, curl=curl)
#Also if you do not need to read the cookies.
#curlSetOpt( cookiejar="", useragent = agent, followlocation = TRUE, curl=curl)
#Post login form
html=postForm(loginurl, .params = pars, curl=curl)
#Go wherever you want
html=getURL(dataurl, curl=curl)
#Start parsing your page
matchref=gregexpr("... my regexp ...", html)
#... .... ...
#Clean up. This will also print the cookie file
rm(curl)
gc()
Внимание!
Часто могут отображаться скрытые данные, помимо имени пользователя и пароля. Чтобы захватить его, вы можете захотеть, например. в Chrome используйте Developer tools
(Ctrl Shift I) → Network Tab
, чтобы показать имена и значения полей.