2014-10-09 1 views
0

사용자가 로그인하여 세부 정보 (scedule 등)를 볼 수 있도록이 웹 페이지 용 앱을 개발하려고합니다.C# WP8 앱 웹 사이트 로그인

http://www.lectio.dk/lectio/317/default.aspx

그러나 나는 웹에서 데이터를 가져 오는 작업에 아주 새로운 해요,이 페이지는 (저를 판단 해달라고 : D)에서 데이터를 얻기 위해 매우 어려운 것 같다.

페이지가 gzip으로 을 사용하는 페이지 페이지는 세션 단위 쿠키

여기 내 코드는 지금처럼 보이는 무엇을 실종에 대해 불평 나 사용자 이름과 암호 와 함께 제출해야 생성 된 아이디의 일부 숨겨진 필드가 있습니다 :

먼저 내 Mywebclient 클래스 :로드를 호출

public class MyWebClient : SharpGIS.GZipWebClient 
{ 
    Uri _responseUri; 
    public CookieContainer CookieContainer { get; private set; } 

    public MyWebClient() 
    { 
     this.CookieContainer = new CookieContainer(); 
    } 

    public MyWebClient(CookieContainer cookieContainer) 
    { 
     this.CookieContainer = cookieContainer; 
    } 
    public Uri ResponseUri 
    { 
     get { return _responseUri; } 
    } 

    protected override WebResponse GetWebResponse(WebRequest request, IAsyncResult result) 
    { 
     WebResponse response = base.GetWebResponse(request, result); 
     _responseUri = response.ResponseUri; 
     return response; 
    } 
    protected override WebRequest GetWebRequest(Uri address) 
    { 
     var request = base.GetWebRequest(address) as HttpWebRequest; 
     if (request == null) return base.GetWebRequest(address); 
     request.CookieContainer = CookieContainer; 
     return request; 
    } 
}` 

두 번째 코드

string postdata = "m$Content$password2=" + HttpUtility.UrlEncode("PASSWORD") + "m$Content$username2=" + HttpUtility.UrlEncode("USERNAME"); 
navigatePostRequestBrowser(new Uri("https://www.lectio.dk/lectio/317/login.aspx"), postdata); 

그리고

protected void navigatePostRequestBrowser(Uri url, string postdata) 
{ 
    MyWebClient webClient = new MyWebClient(); 
    webClient.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded"; 
    webClient.Encoding = Encoding.UTF8; 
    webClient.UploadStringCompleted += new UploadStringCompletedEventHandler(proxy_UploadStringCompleted); 
    webClient.UploadStringAsync(url , "POST", postdata); 
} 

내 UploadStringCompleted은 다음과 같습니다 마지막으로로드 는 :

private void proxy_UploadStringCompleted(object sender, UploadStringCompletedEventArgs e) 
{ 
    var response = e.Result; 
} 

나는 아무 생각이 내가 모든 곳에서 발견 몇 가지 솔루션을 시도한 이후, 심지어 거의 정확한 경우 인터넷에서.

제발 도와주세요 - 막혔습니다!

답변

0

내 솔루션은 웹 클라이언트 대신 정적으로 숨겨진 웹 브라우저를 사용하는 것이 었습니다.