httr::GET
在向同一网站发出请求时会保留Cookie。
示例:
# Get login cookie
r1 <- GET("https://some.url/login", authenticate("foo", "bar"))
cookies(r1)
# returns a data frame of two cookies
# Make request that requires authentication cookie
# Only succeeds if r1 was made
r2 <- GET("https://some.url/data/?query&subset=1")
r2
请注意,在制作r2
时,您不必明确地传递任何Cookie信息,因为它们会自动存储在某处。
我想知道如何查询或删除这些存储的cookie?
答案 0 :(得分:3)
使用新句柄进行请求。
h1 <- handle('')
r1 <- GET("https://some.url/login", handle=h1, authenticate("foo", "bar"))
h2 <- handle('')
r2 <- GET("https://some.url/data/?query&subset=1", handle=h2)
答案 1 :(得分:0)
一种(非常圆的)方式是“重置”包:
detach("package:httr", unload=TRUE)
library(httr)
我还在寻找更好的东西。
答案 2 :(得分:0)
这对我有用:
# Get login cookie
r1 <- GET("https://some.url/login", authenticate("foo", "bar"))
cookies(r1)
# The cookies should be there, then:
handle_reset("https://some.url")
cookies(r1)
#now the cookies should be removed
我希望对您有帮助