R:管理 httr2 请求句柄(及其 cookie)

问题描述 投票:0回答:1

“httr2”的前身 R 库,即“httr”,提供了管理请求句柄的方法。

低级方法是:

h <- httr::handle("https://google.com/")
res <- httr::GET(handle = h)

现在,请求设置与

h
相关联。例如,新请求保留相同的 cookie。

(cs <- httr::cookies(res))
identical(httr::cookies(res), cs) # TRUE

要从头开始,只需生成一个新句柄即可重置句柄。那就是:

h <- httr::handle("https://google.com/")
identical(httr::cookies(res), cs) # FALSE

作为一种(更好的)替代方案,可以使用默认句柄和

handle_reset()
:

c1 <- httr::cookies(httr::GET("https://google.com/"))
c2 <- httr::cookies(httr::GET("https://google.com/"))
identical(c1, c2) # TRUE

httr::handle_reset("https://google.com/")
c1 <- httr::cookies(httr::GET("https://google.com/"))
identical(c1, c2) # FALSE

当您测试网站身份验证并且状态保存在 cookie 中时,需要重置句柄。

说到“httr2”,手册甚至没有提到手柄。所以我想知道除了分离包并再次加载之外,我们如何重置连接。

r curl cookies httr httr2
1个回答
0
投票

有一个关于如何在跨请求之间保留 cookie的文档。

然后,如果您提供不同的 cookie 文件路径,您将获得单独的请求会话状态。

© www.soinside.com 2019 - 2024. All rights reserved.