Curl 注册后登录

Curl 注册后登录,curl,zabbix,fba,Curl,Zabbix,Fba,我们有基于SharePoint表单的身份验证。我想使用Curl并使用此身份验证获取站点内容。使用FireFox篡改数据,我获得了以下POSTDATA信息: POSTDATA=__VIEWSTATE=%dlkgKDFLFKF54FFEF564FEVv5ve56rv4e6rv546E5vre%4F & __EVENTVALIDATION=%fwf5we4fEEFefe544654fe54F5eF & Login_UserInput=username & Login_Passw

我们有基于SharePoint表单的身份验证。我想使用Curl并使用此身份验证获取站点内容。使用FireFox篡改数据,我获得了以下POSTDATA信息:

POSTDATA=__VIEWSTATE=%dlkgKDFLFKF54FFEF564FEVv5ve56rv4e6rv546E5vre%4F
&
__EVENTVALIDATION=%fwf5we4fEEFefe544654fe54F5eF
&
Login_UserInput=username
&
Login_PasswordInput=passw
&
LoginButton=Login
登录页面url:

登录后的URL:

使用curl获取web内容时使用的命令:

curl.exe -F "POSTDATA=__VIEWSTATE=%dlkgKDFLFKF54FFEF564FEVv5ve56rv4e6rv546E5vre%4F&__EVENTVALIDATION=%fwf5we4fEEFefe544654fe54F5eF&Login_UserInput=username&Login_PasswordInput=passw&ButtonLogin=Login" https://subdomain.domain.local/sites/siteCollection/subsite/Pages/LandingPage.aspx -k
但总是得到:403禁止


可能有什么问题?

使用
-F
选项会生成一个多部分/表单数据请求,但您的网站可能只需要将
内容类型设置为
应用程序/x-www-form-urlencoded
的定期帖子。因此,请尝试:

curl.exe -k -d "POSTDATA=__VIEWSTATE=%dlkgKDFLFKF54FFEF564FEVv5ve56rv4e6rv546E5vre%4F&__EVENTVALIDATION=%fwf5we4fEEFefe544654fe54F5eF&Login_UserInput=username&Login_PasswordInput=passw&ButtonLogin=Login" https://subdomain.domain.local/sites/siteCollection/subsite/Pages/LandingPage.aspx

\u视图状态
\u事件验证
是您的问题。这些是唯一的令牌,可以在每次请求时更改。你每次都需要从登录页面抓取新的。Jeremiah,如何每次从登录页面抓取新的?你必须请求登录表单,解析html并检索值。如果您熟悉的话,大多数脚本语言都有这样做的方法。