使用 R 登录 .NET 站点

2024-02-24

我正在尝试使用我的凭据登录 .NET 站点,但无法使其正常工作。我的代码的灵感来自下面的线程

如何使用 R 登录并从 aspx 网页下载文件 https://stackoverflow.com/questions/15853204/how-to-login-and-then-download-a-file-from-aspx-web-pages-with-r

library(RCurl)
curl = getCurlHandle()
curlSetOpt(cookiejar = 'cookies.txt', followlocation = TRUE, autoreferer = TRUE, curl = curl)
html <- getURL('http://www.aceanalyser.com/Login.aspx', curl = curl)
viewstate <- as.character(sub('.*id="__VIEWSTATE" value="([0-9a-zA-Z+/=]*).*', '\\1', html))
viewstategenerator <- as.character(sub('.*id="__VIEWSTATEGENERATOR" value="([0-9a-zA-Z+/=]*).*', '\\1', html))

params <- list(
  'txtUserID'    = '********',
  'txtPwd'    = '*******',
  'Btn_Login' = 'GO',
  '__VIEWSTATE' = viewstate,
  '__VIEWSTATEGENERATOR' = viewstategenerator,
  'HiddenField1' = '1280',
  'HiddenField2' = '700',
  'Hdn_Pwd' = 'true')

html = postForm('http://www.aceanalyser.com/Login.aspx', .params = params, curl = curl)
grepl('Logout', html)

结果:假

请帮助我理解这个问题


您可以更改选项'Btn_Login' = 'GO'到 就像是

'Btn_Login.x' = '22',
'Btn_Login.y' = '14'

根据this https://stackoverflow.com/a/7935490/4680436,原因是一个bug。

某些浏览器(IIRC 只是 Internet Explorer 的某些版本)仅发送图像映射的坐标(在 name.x 和 name.y 中)并忽略该值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 R 登录 .NET 站点 的相关文章

随机推荐