如何使用rvest,httr,curl在R中设置cookie的域?

时间:2017-03-19 15:27:31

标签: curl session-cookies rcurl rvest httr

如何使用rvest / httr / curl包在R中设置Cookie的域名?

我知道通常使用名称和值的命名字符向量设置cookie(如?set_cookies报告)。是否也可以指定域名?或者,或许更好的是,发送一个从httr::cookies()回来的整个七列Netscape规范?

问题出现了,因为我正在尝试为UK Data Service自动执行基于shibboleth的登录过程,该过程使用一组复杂的会话cookie(请参阅我的earlier question)。在登录过程的最后一步,该网站会传递两个名称相同的Cookie(JSESSIONID),但不同的域(#HttpOnly_wayf.ukfederation.org.ukshib.data-archive.ac.uk)。但是,仅作为命名向量,两个JSESSIONID看起来相似。我试过只传回一个或另一个,但也许并不奇怪,似乎两者都是必要的。

1 个答案:

答案 0 :(得分:1)

将参数config = config(cookiejar = 'cookies.txt')添加到rvest命令,例如submit_form(session = s, form = f, config = config(cookiejar = 'cookies.txt')),就可以了。之前没有必要生成一个名为cookies.txt的文件,顺便说一句:它都是自动完成的。