如何使用rvest / httr / curl包在R中设置Cookie的域名?
我知道通常使用名称和值的命名字符向量设置cookie(如?set_cookies
报告)。是否也可以指定域名?或者,或许更好的是,发送一个从httr::cookies()
回来的整个七列Netscape规范?
问题出现了,因为我正在尝试为UK Data Service自动执行基于shibboleth的登录过程,该过程使用一组复杂的会话cookie(请参阅我的earlier question)。在登录过程的最后一步,该网站会传递两个名称相同的Cookie(JSESSIONID
),但不同的域(#HttpOnly_wayf.ukfederation.org.uk
和shib.data-archive.ac.uk
)。但是,仅作为命名向量,两个JSESSIONID
看起来相似。我试过只传回一个或另一个,但也许并不奇怪,似乎两者都是必要的。
答案 0 :(得分:1)
将参数config = config(cookiejar = 'cookies.txt')
添加到rvest
命令,例如submit_form(session = s, form = f, config = config(cookiejar = 'cookies.txt'))
,就可以了。之前没有必要生成一个名为cookies.txt的文件,顺便说一句:它都是自动完成的。