curl POST-вход

У нас есть аутентификация на основе форм SharePoint. Я хотел бы использовать Curl и получать контент сайта, используя эту аутентификацию. Используя данные тампера FireFox, я получил эту информацию POSTDATA:

POSTDATA=__VIEWSTATE=%dlkgKDFLFKF54FFEF564FEVv5ve56rv4e6rv546E5vre%4F
&
__EVENTVALIDATION=%fwf5we4fEEFefe544654fe54F5eF
&
Login_UserInput=username
&
Login_PasswordInput=passw
&
LoginButton=Login

URL-адрес страницы входа: https://subdomain.domain.local/_layouts/Company/Login/FormsLogin.aspx?ReturnUrl=%2f_layouts%2fAuthenticate.aspx%3fSource%3d%252F&Source=%2F

URL-адрес после входа в систему: https://subdomain.domain.local/companysites/siteCollection/subsite/Pages/LandingPage.aspx

Команда, которую я использовал для получения веб-контента с помощью curl:

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 ЗАПРЕЩЕНО

Что может быть не так?


person norsk    schedule 28.12.2014    source источник
comment
__VIEWSTATE и __EVENTVALIDATION - ваши проблемы. Это уникальные токены, и они могут меняться при каждом запросе. Вам нужно каждый раз брать новые со страницы входа.   -  person Jeremiah Winsley    schedule 28.12.2014
comment
Иеремия, как каждый раз брать свежие со страницы входа?   -  person norsk    schedule 08.01.2015
comment
Вам нужно будет запросить форму входа, проанализировать html и получить значения. Большинство языков сценариев включают способы сделать это, если вы знакомы с одним из них.   -  person Jeremiah Winsley    schedule 08.01.2015


Ответы (1)


Параметр -F создает запрос multipart/form-data, но вашему веб-сайту может потребоваться обычный POST с Content-Type, установленным на application/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
person Hans Z.    schedule 28.12.2014