HttpWebRequest Войти - PullRequest
       0

HttpWebRequest Войти

1 голос
/ 09 мая 2011

Я пытаюсь войти на веб-сайт https, и когда я запускаю код, я не получаю сообщение об ошибке, но я также не вошел в систему, поэтому я хотел бы знать, в чем проблема Я использовал тот же код и технику для веб-сайта http (с другой строкой postdata obviousely), и он вошел в меня вот код:

string postData = "JAVASCRIPT_ON=userName=XXXX&password=XXX&loginAction=Logon";
            CookieContainer tempCookies = new CookieContainer();
            UTF8Encoding encoding = new UTF8Encoding();
            Byte[] byteData = encoding.GetBytes(postData);
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://direct.gov.mb.ca/ppr/actions/loginDispatcher");
            request.Method = "POST";
            request.KeepAlive = true;
            request.CookieContainer = tempCookies;
            request.ContentType = "application/x-www-form-urlencoded";
            request.Referer = "https://direct.gov.mb.ca/ppr/jsps/login/login.jsp";
            request.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13";
            request.ContentLength = postData.Length;
            Stream requestStream = request.GetRequestStream();
            requestStream.Write(byteData, 0, byteData.Length);
            requestStream.Close();


        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        tempCookies.Add(response.Cookies);
        loginCookies = tempCookies;

1 Ответ

0 голосов
/ 09 мая 2011

Вы должны установить для свойства CookieContainer всех ваших запросов один и тот же экземпляр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...