2014-12-28 7 views
0

SharePoint 양식 기반 인증이 있습니다. Curl을 사용하고이 인증을 사용하여 사이트 컨텐츠를 얻고 싶습니다. 파이어 폭스 탬퍼 데이터를 사용하여 나는이 POSTDATA 정보를 가지고 :컬 POST 로그인

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 후 logn :

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 
: 나는 곱슬 웹 컨텐츠를 가져 오는 데 사용 https://subdomain.domain.local/companysites/siteCollection/subsite/Pages/LandingPage.aspx

명령

항상 늘리는 방법 : 403 FORBIDDEN

무엇이 잘못 될 수 있습니까?

+1

__VIEWSTATE 및 __EVENTVALIDATION이 (가) 문제가됩니다. 이들은 고유 한 토큰이며 모든 요청에 ​​따라 변경 될 수 있습니다. 매번 로그인 페이지에서 새로 가져와야합니다. –

+0

Jeremiah, 로그인 페이지에서 매번 신선한 메시지를 가져 오는 방법은 무엇입니까? – norsk

+0

로그인 양식을 요청하고 html을 구문 분석하고 값을 검색해야합니다. 대부분의 스크립팅 언어에는 익숙한 경우이를 수행하는 방법이 포함되어 있습니다. –

답변

0

-F 옵션을 사용하면 multipart/form-data 요청이 생성되지만 Content-Typeapplication/x-www-form-urlencoded으로 설정된 일반 POST 만 필요할 수 있습니다. 따라서 함께 시도하십시오 :

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