r - 使用 POST 方法成功登录后重定向到页面时如何继续
问题描述
我已经使用 R 3.5.2 登录了一个网站,使用 rvest_0.3.4 和 httr_1.4.0 似乎都很顺利,但后来我陷入了一个重定向页面,该页面在浏览器 (Chrome) 上仅可视化在我点击“登录!”按钮几秒钟后。
有问题的步骤似乎是form method="post" input type="hidden"
我无法从 R 提交的。
登录 CDP 页面的 URL
登录 <- " https://www.cdp.net/en/users/sign_in "
投资
library(rvest)
user.email <- "my_email"
user.password <- "my_password"
signin.session <- html_session(signin)
signin.form <- html_form(signin.session)[[1]]
filled.signin <- set_values(signin.form,
`user[email]` = user.email,
`user[password]` = user.password)
signed.in <- submit_form(signin.session, filled.signin)
read_html(signed.in) %>% html_node("form")
httr
library(httr)
login <- list(
`user[email]` = "my_email",
`user[password]` = "my_password",
submit = "Login!")
signed.in.post <- POST(signin, body = login, encode = "form", verbose())
http_status(signed.in.post)
content(signed.in.post, as = "parsed")
read_html(signed.in.post$url) %>% html_node("form")
我的目标是访问我的帐户并浏览网站,但我不知道如何通过 R 的重定向页面。
解决方案
IvanP
使用最新的 httr 函数名称更新先前的响应
library(rvest)
signin.session <- session(signin)
signin.form <- html_form(signin.session)[[1]]
filled.signin <- html_form_set(signin.form,
`user[email]` = user.email,
`user[password]` = user.password)
signed.in <- session_submit(signin.session, filled.signin)
redirect.form <- html_form_set(signed.in)[[1]]
redirected <- session_submit(signed.in, redirect.form)
推荐阅读
- python - Youtube 搜索输入不可交互
- java - Gradle - 如何使用稳定版本进行编译和使用相同依赖项的快照版本进行测试
- python - 如何从列表中创建路径文件夹
- android - 在 mdpi、hdpi、xhdpi 变体上保留dimens 文件有什么意义?
- c - 如何在c中释放一部分连续分配的内存?
- devops - 在 HA 代理中使用路径重写/重定向
- vue.js - Vue如何设计递归数组项?
- ios - 尝试在 XCode 中使用 .sheet 创建模态视图时未解析的标识符
- mysql - 如果联接表中不存在记录,则左联接从联接表中返回重复值
- powershell - Powershell:将数组值分配给动态变量