먼저 난 그냥Windows Store App에서 HttpClient를 사용하여 ASP.Net MVC 웹 사이트 (양식 인증)에 로그인하는 방법?
string r = await hc.GetStringAsync(BaseUrl);
가 그럼 난 로그인 URL에 사용자 이름/암호를 게시 "__RequestVerificationToken"로 쿠키를 얻을 수있는 기본 URL을 명중
다음CookieContainer cookies = new CookieContainer();
HttpClientHandler handler = new HttpClientHandler();
handler.CookieContainer = cookies;
handler.UseCookies = true;
var hc = new HttpClient(handler);
쿠키 용기와 HttpClientHandler를 생성
HttpContent content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("UserName", "admin"),
new KeyValuePair<string, string>("Password", password),
});
HttpResponseMessage response = await hc.PostAsync(LoginUrl, content);
가 그럼 난 서버 오류 "필요한 위조 방지 양식 필드 " __RequestV erificationToken "가 없습니다 ".
하지만 피들러에서 요청을 확인하면 "__RequestVerificationToken"이 요청의 쿠키에 이미 추가 된 것을 볼 수 있습니다.
그런 다음 IE에서 수동으로 로그인하여 IE의 요청 종류를 확인했습니다.
은 그 때 나는 IE는 형태 "__RequestVerificationToken"를 넣어 발견, 그래서 내가이 오류 제공된 위조 방지 토큰의"검증을 받았습니다 그런 다음
new KeyValuePair<string, string>("__RequestVerificationToken", cookies.GetCookies(new Uri(BaseUrl)).Cast<Cookie>().FirstOrDefault(x => x.Name == "__RequestVerificationToken").Value)
형태로 쿠키를 추가 쿠키 " _ RequestVerificationToken " 및 양식 필드 " _RequestVerificationToken "이 바뀌 었습니다. "
그런 다음 Google에서이 오류에 대한 검색 결과를 가져올 수 없습니다.
아이디어가 있으십니까?
감사합니다.
감사합니다. 나 또한 트릭을 만들었습니다. 이 회신을 답으로 표시하십시오. – To1ne